CODEDRAGON ㆍDevelopment/C, C++
malloc(), free()
종류 | 함수 | 성공 | 실패 |
메모리 할당 함수 | void* malloc(size_t size); | 할당된 메모리의 시작 주소 반환 | NULL 반환 |
메모리 해제 함수 | void free(void* p); | 할당된 메모리 해제 |
|
malloc(4) 함수를 이용한 동적 메모리 할당
4byte만큼 메모리 할당하고 메모리의 시작 주소를 malloc()가 반환
int main(void){ int* p = NULL; p=(int*) malloc(4); // ....... return 0; } |
할당된 메모리의 시작 주소 형변환 (int*)
malloc()은 반환형이 void*이기 때문에 int형 포인터 변수로 강제형변환해서 시작주소 저장
p를 통해 힙영역의 4byte 주소공간 접근
int main(void){ int* p = NULL; p=(int*) malloc(4); // ....... return 0; } |
free( ) 함수를 이용한 동적 메모리 해제
p에 저장된 메모리 공간 해제
int main(void){ int* p = NULL; p=(int*) malloc(3); // ....... free(p); return 0; } |
'Development > C, C++' 카테고리의 다른 글
main 함수 (0) | 2018.05.02 |
---|---|
주소를 반환하는 함수, 주소 반환(return)의 필요성과 주의 사항, 주소 반환(return) 시 유용한 정적(static)변수, 값/주소 반환(return) (0) | 2018.04.29 |
헤더파일 생성 - #include를 이용한 사용자 헤더 파일 만들기 (0) | 2018.04.08 |
Swift Programming Language Guide (0) | 2018.03.01 |
C++ 핵심 가이드라인 (0) | 2017.12.15 |