내가 보려고 만드는/C

[C] 동적할당 malloc/free

gaga_ 2021. 5. 4. 23:29

동적할당이란 프로그램 실행 중에 동적으로 메모리를 할당하는 것이다.

동적으로 메모리를 할당한다는 것은 Heap 영역에 할당한다는 것을 의미한다.

 

헤더 파일) <stdlib.h>

 

함수 원형) void* malloc(size_t size)

 

리턴값) 성공 시 할당한 메모리의 첫 번쨰 주소 리턴. 

          실패 시 NULL 리턴

 

주의할 점) free(ptr) 로 할당한 메모리 해제하기

 

예제) 

//과목 개수 만큼 메모리 동적할당을 합니다.
pArr = (int*)malloc(sizeof(int) * num);

//동적할당 실패
if (pArr == NULL)
{
  printf("malloc error");
  exit(1);
}


// 출처: https://blockdmask.tistory.com/290 [개발자 지망생]

 

blockdmask.tistory.com/290

 

[C언어] 동적할당 정리2 (malloc, free 예제)

1. 동적할당 malloc, free 에 대해서 2017/07/10 - [<개인공부>/[C언어 & C++ 언어]] - [C 언어] 동적할당 정리1 (malloc, realloc, calloc, free 함수) 2017/07/07 - [<개인공부>/[Operating System]] - [운영체..

blockdmask.tistory.com

댕글링 포인터

 

thinkpro.tistory.com/67

 

댕글링 포인터(Dangling Pointer)

포인터가 여전히 해제된 메모리 영역을 가리키고 있다면, 이러한 포인터를 댕글링 포인터(Dangling Pointer)라고 한다. 댕글링 퐁린터가 가리키는 메모리는 더는 유효하지 않다. 댕글링 포인터는 pre

thinkpro.tistory.com

 

'내가 보려고 만드는 > C' 카테고리의 다른 글

[C] 이중 포인터 **  (0) 2021.05.05