Malloc, Calloc

  • 동적으로 변수의 메모리를 할당할 수 있는 것
    • 동적 할당이란, 프로그램이 실행되는 도중에 저장 공간을 할당하고, 프로그램이 종료되기 전에 원하는 때에 저장 공간을 해제할 수 있는 것을 뜻함
    • 그와 반대로 정적 할당은 프로그램이 실행되며 저장 공간을 할당하고, 프로그램이 종료되며 저장 공간이 해제되는 것을 뜻함
  • Malloc은 저장 공간을 할당하며 동시에 쓰레기 값이 들어감
    • int *array = (int *)malloc(sizeof(int)*10); // :: int [10]크기의 배열에 동적할당
  • Calloc은 저장 공간을 할당하며 동시에 0값이 들어감
    • int *array = (int *)calloc(sizeof(int)*10); // :: int [10]크기의 배열에 동적할당
  • 동적 할당을 한 것은 어느 순간에 Free를 써서 저장 공간을 해제해 줘야 함
    • free(array);

Realloc

  • 이미 할당되어 있는 메모리를 변경할 때 사용
    • array = (int *)realloc(array, sizeof(int)*20);
블로그 이미지

RIsN

,