개발을 하다 보면 메모리 관리를 잘 하는 것이 중요하다고 생각된다.
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 |