malloc 関数や,calloc 関数で確保したメモリ領域を解放するには stdlib.h の free 関数を使用します.
#include <stdlib.h>
void free ( void *ptr );
free 関数は ptr が指すメモリ領域を解放する関数です.
以下に free 関数を使用してメモリ領域を開放するサンプルプログラムを示します.
/* header files */
#include <stdio.h>
#include <stdlib.h>
/* main */
int main(void) {
int *ptr;
/* int サイズのメモリ領域を確保 */
if ((ptr = (int *)malloc(sizeof(int))) == NULL) {
fprintf(stderr, "メモリ領域の確保に失敗しました.\n");
exit(EXIT_FAILURE);
}
/* メモリ領域の解放 */
free(ptr);
printf("メモリ領域を解放しました.\n");
return EXIT_SUCCESS;
}
サンプルプログラムの実行結果は以下のようになります.
メモリ領域を解放しました.