calloc( ) 함수와 free( ) 함수 - calloc( ) 함수 vs malloc( ) 함수

CODEDRAGON Development/C, C++

반응형


 

calloc( )함수를 이용한 동적 메모리 할당

메모리를 할당하면서 초기화 경우 calloc()함수 사용

종류

함수

반환

메모리

할당 함수

void* calloc(size_t num, size_t size);

 

성공: 할당된 메모리의 시작 주소 반환

실패: NULL 반환

 

 

 

 

calloc( ) 함수 vs malloc( ) 함수

동일한 함수 이며 입력 인자의 개수만 차이가 있습니다.

calloc( )

malloc( )

할당된 공간의 값을 모두 0으로 초기화합니다.

할당할 메모리 크기를 바이트 단위로 전달받고, 할당된 공간의 값들은 초기화하지 않습니다.

//함수의 입력 인자 2

int* p1 = calloc(4, 4);

//함수의 입력 인자 1

int* p2 = malloc(16);

//int형을 배열처럼 5개씩 메모리 할당

(int *)calloc( 5, sizeof(int) );

(int *)calloc( 1, 5*sizeof(int) );

//int형을 배열처럼 5개씩 메모리 할당

(int *)malloc( 5*sizeof(int) );