malloc : 메모리 할당 함수 (함수) void * malloc(size_t size);

  • 메모리 공간만 할당 , 생성자 호출 X
  • 할당받을 메모리 크기를 인자로 받는다.
  • malloc은 할당된 공간의 값을은 바꾸지 않는다.

calloc : 메모리 할당 및 초기화 함수 (사이즈하고, 타임) void* calloc(size_t nelem, sizeo_t elsize);

  • 배열요소 갯수,배열요소 사이즈
  • calloc은 할당된 공간의 값을 모두 0으로 바꾼다.
  • 배열을 할당하고 모두 0으로 초기화할 필요가 있을경우에는 calloc을 쓰면 편하다

realoc : 메모리 추가 할당 (덩글리 포인트 발생 할 수 있음) void realloc(void ptr, size_t size);

  • 이미 할당받은 메모리에 추가로 할당, 이전 메모리 주소 없어짐
  • 주소, 추가할당할 사이즈
  • 대부분 새로운 메모리를 할당하므로, 이전 영역을 가리키는 모든 포인터 변수를 새로운 주소로 가리켜야 한다.
  • 동적으로 할당한 메모리가 있고 여러 개의 포인터가 공유하고 있다면, 사용X

free : 메모리 해제 함수 void(* ptr);


new (연산자재정의)

  • 연산자로 바로 메모리를 할당하는게 아니라 생성자를 호출하여 메모리를 할당합니다
  • 할당할 메모리 크기 몰라도됨
  • 생성자를 호출
  • 재할당이 불가능 하다

+ Recent posts