2024/10/14 3

[크래프톤 정글] 동적 메모리 할당(CSAP 9.9장)

CSAPP 9.9장은 동적 메모리 할당에 관한 다양한 기법과 문제들을 다루고 있으며, 특히 malloc과 free 같은 C의 기본 메모리 관리 함수와 관련된 동작 원리와 구현 방식을 정리 해보고자 한다. 9.9.1 malloc과 free 함수malloc 함수는 동적으로 메모리를 할당하고, free 함수는 그 메모리를 해제하는 기본적인 함수이다.예시:#include #include int main() { int *arr = (int *)malloc(5 * sizeof(int)); // 5개의 정수 공간 할당 if (arr == NULL) { printf("메모리 할당 실패\n"); return 1; } for (int i = 0; i 이 예시는 malloc을 ..

[크래프톤 정글] c프로그래밍에서의 고통된 메모리 관련 버그(CSAP 9.11장)

다음은 CSAPP 9.11장에서 설명된 메모리 관련 버그들에 대한 설명과 각 상황에 대한 예시를 들어 정리 해보고자 한다.9.11.1 잘못된 포인터 역참조잘못된 포인터를 역참조하면 가상 메모리의 잘못된 위치를 참조하게 되어 프로그램이 비정상 종료된다.예시:int *ptr = NULL;*ptr = 100; // NULL 포인터 역참조, 프로그램이 종료됨위 코드는 NULL 포인터를 역참조하려고 하기 때문에 실행 중에 프로그램이 크래시된다.9.11.2 초기화되지 않은 메모리 읽기초기화되지 않은 메모리를 읽으면 해당 메모리에는 쓰레기 값이 포함될 수 있다.예시:int *arr = (int *)malloc(5 * sizeof(int));printf("%d\n", arr[0]); // 초기화되지 않은 메모리 읽..

[크래프톤 정글]2~3주차 회고

이 글을 쓰는 시점은 이제막 3주차가 끝난 시점이다.사실 2,3 주차 는 1주차 와 똑같은 생활의 연속이었기에 2,3 주차 회고 를 같이 쓰려한다.알고리즘2~3 주차 통틀어 bfs, dfs, dp , 그리디 알고리즘 등을 다루며 알고리즘에서 가장 기초가 되고 중요한 개념들을 익혔던 2주 였는데 그만큼 그 어떤 것 하나도 쉽게 가는 법이 없었다. dfs , bfs는 좀만 익숙 해질만 하면 응용 문제들이 나왔고 , dp 에서는 분명 점화식 을 찾는 감만 잡으면 될거 같았는데 문제만 보면 머리가 하애지는 하루들의 연속 이었다.한가지 얻은게 있다면 확실히 풀면 풀수록 스스로 알고리즘에 대해 익숙해지고 있다는 것을 느끼게 되었고, 많이 풀어보며 많은 문제 익숙 해지는것이 유일한 방법이라는 것을 알게 되었다. 그래..

크래프톤 정글 2024.10.14