14강 · 제9장 · 약 55분

메모리 동적 할당

malloc/free 등 동적 할당과 기억공간 관리 함수를 익힙니다.

학습 목표

  • 동적 할당이 필요한 상황을 안다
  • malloc/free를 짝으로 사용한다

정적 vs 동적

  • 정적/자동: 컴파일·블록 시점에 크기가 정해짐
  • 동적: 실행 중에 크기를 요청 (malloc, calloc, realloc) → 끝나면 free
int *p = (int *)malloc(sizeof(int) * n);
if (p == NULL) { /* 실패 */ }
/* 사용 */
free(p);
p = NULL;
  • calloc: 0으로 초기화하며 할당
  • realloc: 크기 변경
  • memcpy / memset / memcmp: 바이트 단위 기억공간 관리

누수(memory leak): 할당 후 free를 잊는 것. 항상 짝을 맞추세요.

코드 실습 (C)

실행 결과가 여기에 표시됩니다.

확인 퀴즈

1. malloc으로 받은 메모리를 다 쓴 뒤 해야 할 일은?

스스로 점검