C言語編 標準ライブラリのリファレンス free

先頭へ戻る

free関数

概要 動的に確保されたメモリ領域を解放する
ヘッダ stdlib.h
形式 void free(void* ptr);
引数 ptr 解放するメモリ領域のメモリアドレス、あるいはヌルポインタ。ヌルポインタでない場合は、malloc関数calloc関数realloc関数のいずれかで確保された領域のメモリアドレスでなければならない。
戻り値 なし
詳細 動的に確保されたメモリ領域を解放する。
実引数がヌルポインタの場合には、何も起こらないことが保証されている。
注意 malloc関数calloc関数realloc関数のいずれかの関数で確保されていない領域のメモリアドレスを渡す行為は未定義である。既に解放済みの領域を再度指定することも未定義である。
解放されたメモリ領域をアクセスする行為は未定義である。
使用例
#include <stdio.h>
#include <stdlib.h>

#define ALLOCATE_SIZE	(10)

int main(void)
{
    int* values;
    int i;

    values = malloc( sizeof(int) * ALLOCATE_SIZE );
    if( values == NULL ){
        exit( EXIT_FAILURE );
    }

    for( i = 0; i < ALLOCATE_SIZE; ++i ){
        values[i] = i;
    }

    for( i = 0; i < ALLOCATE_SIZE; ++i ){
        printf( "%d\n", values[i] );
    }

    free( values );

    return 0;
}

実行結果:

0
1
2
3
4
5
6
7
8
9
関連
解説章 第35章


参考リンク

更新履歴

'2018/4/8 全体的に文章を見直し修正。

'2018/1/22 新規作成。





標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS