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()

메모리 공간 해체시 필요한 함수이다!!


'Soft Ware > C 언어!!' 카테고리의 다른 글

void 형 포인터 연산  (0) 2011.09.29
함수 포인터에 대해서 !!!  (0) 2011.08.07
파일 입.출력 !!  (0) 2011.08.07
공용체 메모리 패딩  (0) 2011.08.07
구도체 및 함수 인자 값 일 때 메모리상 데이터  (0) 2011.08.07