Soft Ware/C 언어!!
동적 메모리 할당
달려가보자
2011. 8. 7. 10:46
(받을형의 포인터)malloc(사이즈)
int * a = (int *)malloc(sizeof(int));
malloc은 메모리 할당 이후에 그 공간을 0으로 초기화 해주지 않고 쓰레기 값만 존재한다.
그러므로 memset()을 이용하여 초기화 한다.
memset(초기화 대상, sizeof(대상의 형));
이렇게 하면 할당된 메모리공간은 0으로 초기화 된다.
할당 받을때 초기화 된 함수는 없나요? 있다!!
calloc()
int * a = (int *)calloc(sizeof(int));
할당과 동시에 초기화 해서 a로 넘겨준다!!
할당된 메모리가 부족하다면 realloc를 쓰자!!!
int *str2 = realloc(할당 받았던 변수, 사이즈);
free()
메모리 공간 해체시 필요한 함수이다!!