TIL 12|メモリの動的割当て-calloc関数、realloc関数
calloc関数
heap領域にメモリを割り当てる関数で、malloc関数と同じ機能を持ちます.
calloc 함수의 기본형 -
void * calloc(size_t elt_count, size_t elt_size);
-> 성공 시 할당된 메모리의 주소값, 실패 시 NULL 반환
int ptr1 = (int*) malloc(sizeof(int)*5);
-> 총 20byte를 heap영역에 할당해라
int ptr2 = (int*)calloc(5, sizeof(int));
-> 4byte 크기의 메모리 5개를 heap영역에 할당해라(총 20byte)
上記のように、calloc関数とmalloc関数の違いは、メモリ空間を割り当てるための伝達方式にある.malloc関数:割り当てるバイトサイズを一度に渡す
calloc関数:最初の伝達パラメータは、割り当てられるメモリブロックの数を伝達します.2番目の伝達パラメータは、各ブロックのバイトサイズを伝達する
ただしcalloc関数は、割り当てられたすべてのメモリ領域を0に初期化します.したがって、配列を割り当ててすべて0に初期化する必要がある場合はcallocを使用します.
malloc関数:割り当てられたメモリ領域の個別値Xに初期化します.ゴミ値として入力します.
calloc関数:割り当てられたすべてのメモリ領域を0に初期化します.
Reference
この問題について(TIL 12|メモリの動的割当て-calloc関数、realloc関数), 我々は、より多くの情報をここで見つけました https://velog.io/@yoonsik123/TIL-12-메모리의-동적-할당-calloc함수-realloc함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol