メモリ確保関数
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;
}