メモリ確保関数
malloc: 指定されたメモリを確保する、確保できない場合はNULLを返す
calloc: 指定されたサイズのメモリブロックを確保、確保した領域を0クリア
realloc: 確保済みのメモリを拡張
メモリ解放関数
free: malloc, calloc, reallocで確保した領域を解放する
#include <stdio.h> #include <stdlib.h> int main(void){ // 100byteメモリ確保 char *p = malloc(100); if(p == NULL){ } // 100 * sizeof(int)分のメモリを確保し、中身を0でクリアする // p = malloc(100 * sizeof(int)); memset(p, 0, 100*sizeof(int)); int *p2 = calloc(100, sizeof(int)); if(p2 == NULL){ } // 100byte確保しているメモリを200byteに拡張 char *p3 =realloc(p, 200); if(p3 == NULL){ } else { p = p3; } free(p2); free(p); return 0; }