🔧 標準ライブラリ ・ stdlib.h ・ C89
free の使い方void free(void *ptr);
malloc/calloc/reallocで確保したメモリ領域を解放する。解放後は同じポインタを再利用してはいけない(必要ならNULLを代入しておく)。NULLを渡した場合は何もしない安全な仕様。
#include <stdlib.h>
int main(void) {
int *p = malloc(sizeof(int));
free(p);
p = NULL;
return 0;
}
⚠️ 同じポインタに対して二度freeする(二重解放)や、解放後のポインタを使う(ダングリングポインタ)は未定義動作を引き起こす重大なバグ。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
free と一緒に使う関数もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。