JINTBEAT Design Life

🔴 malloc ? - 동적 메모리 할당(dynamic memory allocation) 본문

🖥️ - C language

🔴 malloc ? - 동적 메모리 할당(dynamic memory allocation)

jintbeat_design 2025. 6. 13. 02:24
반응형
기본 개념

 

void* malloc(size_t size);

 

 

  • size : 할당받을 바이트 수 (ex. sizeof(int) * 10  int 10개 크기)
  • 리턴값 : 할당된 메모리 블록의 시작 주소를 가리키는 포인터
  • 실패 시 NULL을 반환
왜 malloc을 써야할까 ?

 

(1) 컴파일 타임이 아닌, 런타임에 메모리를 할당해야 할 때

 

배열 선언은 컴파일 타임에 크기가 고정되어야 한다.

int arr[100];  // 크기 고정

int n;
scanf("%d", &n);
int arr2[n]; // 컴파일러에 따라 에러 (C90 표준에서는 허용 안됨)

 

 

 malloc을 사용하면 사용자가 입력한 크기만큼 런타임에 할당 가능하다.

 

int* arr = (int*)malloc(sizeof(int) * n);

 

 

 

 

반응형