컴퓨터+a/코딩테스트 연습

C언어 malloc, calloc, realloc, free

hiiambk 2021. 2. 27. 18:45

C언어로 코딩테스트 준비를 하다보면 동적할당 문제가 많이 나온다.

간단한 사용법은 알고 있지만 한 번 정리해보기로.

 

malloc

기능 : 메모리를 동적으로 할당하고 포인터를 반환한다.

원형 : void *malloc(size_t size);

인수 : 할당할 메모리의 바이트 크기

반환값 : 할당한 메모리의 포인터, 실패하면 NULL

 

calloc

기능 : 메모리를 동적으로 할당하고 0으로 초기화한 후에 포인터를 반환한다.

원형 : void *calloc(size_t nitems, size_t size);

인수 : 할당할 요소 수, 요소 하나의 크기

반환값 : 할당한 메모리의 포인터, 실패하면 NULL

 

realloc

기능 : 동적 할당한 메모리의 크기를 재조정한다.

원형 : void *realloc(void *ptr, size_t size);

인수 : 이전에 할당받은 영역의 포인터, 재조정한 후의 전체 바이트 크기

반환값 : 새로 할당한 메모리의 포인터, 실패하면 NULL

 

free

기능 : 동적 할당한 메모리를 반환한다.

원형 : void free(void *ptr);

인수 : 할당받은 메모리의 포인터

반환값 : 없음

728x90