Programming/C language / / 2023. 9. 3. 20:25

malloc , Calloc , realloc , free

개발을 하다 보면 메모리 관리를 잘 하는 것이 중요하다고 생각된다.

C언어에서도 이러한 메모리를 도와주는 함수들이 있다.

 

동적 메모리 관리

⇒ 개발자가 직접 메모리를 관리함 (heap)

⇒ 프로그램 실행 도중에 동적으로 메모리를 확보

malloc

 해당 바이트 만큼 할당을 해줄 수 있는 함수 이다.

void* malloc(size_t size);

calloc

해당 바이트 만큼 배수로 할당 받는 함수 이다.

void* calloc(size_t n,size_t size);

realloc

할당된 메모리의 크기를 동적으로 변경하는데 사용되는 함수이다.

void* realloc(void* p, size_t size);


char* p = (char*) malloc ( sizeof(char) * 10 );
p = (char*) realloc(p,12); //이런식으로 쓸수 있다

 

free

malloc , 콜록 , realloc 으로 할당한 메모리를 반환 하는 함수다.

 

만약 이 위에 것들을 잘 안쓰면 Leak이 일어날 수 있다 + 취약점이 발견될수도

'Programming > C language' 카테고리의 다른 글

Network Programming [2.NBO-HBO without htons]  (0) 2023.10.06
Network Programming [1.PCAP and PCAP]  (0) 2023.10.05
C언어[6]  (0) 2022.07.11
C언어[6]  (0) 2022.07.03
C언어 [5]  (0) 2022.06.30
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유