メモリ/malloc,calloc,reallocで取得したメモリを解放する・free
の編集
Top
/
メモリ
/
malloc,calloc,reallocで取得したメモリを解放する・free
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * malloc,calloc,reallocで取得したメモリを解放する・free [#b31411c8] malloc, calloc, reallocで取得した動的メモリを解放するには、free関数を使用します。~ 取得したメモリを使い終わったら必ずfreeするようにしましょう。~ 以下にmalloc, freeを使用したC言語サンプルソースを記します。 #contents #htmlinsertpcsp(c-top.html,c-sp.html) * 関連記事 [#a02e367b] -[[メモリの内容を指定した値で初期化する・memset>メモリ/メモリの内容を指定した値で初期化する・memset]] -[[メモリ内容をコピーする・memcpy>メモリ/メモリ内容をコピーする・memcpy]] -[[構造体の内容をコピーする・memcpyは使わない!>メモリ/構造体の内容をコピーする・memcpyは使わない!]] -[[メモリの比較を行う・memcmp>メモリ/メモリの比較を行う・memcmp]] -[[動的にメモリを取得する・malloc>メモリ/動的にメモリを取得する・malloc]] -[[動的メモリサイズを拡張する・realloc>メモリ/動的メモリサイズを拡張する・realloc]] -[[malloc,calloc,reallocで取得したメモリを解放する・free>メモリ/malloc,calloc,reallocで取得したメモリを解放する・free]] * free関数の書式など [#pd044c16] 以下にfree関数の書式等を記します。 -必要なインクルード #include <stdlib.h> -書式 void free(void *ptr); -引数~ フリー(解放)するメモリのポインタ -戻り値~ なし * freeを使用したサンプルソース [#ze112205] 以下にfreeを使用したC言語サンプルソースを記します。 &ref(free.c); (改行コードLF) #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main(void) { char *src = "HELLO WORLD!\n"; char *p = NULL; int i; p = malloc(strlen(src)+1); if (p == NULL) { perror("malloc() error!"); exit(EXIT_FAILURE); } strcpy(p,src); printf("%s", p); if (p != NULL) { free(p); p = NULL; } return 0; } 以下にコンパイルし実行した結果を記します。 $ gcc free.c -o free $ ./free HELLO WORLD! 以上、malloc, freeのサンプルソースでした。 #htmlinsertpcsp(c-btm.html,c-sp.html)
タイムスタンプを変更しない
#navi(../) * malloc,calloc,reallocで取得したメモリを解放する・free [#b31411c8] malloc, calloc, reallocで取得した動的メモリを解放するには、free関数を使用します。~ 取得したメモリを使い終わったら必ずfreeするようにしましょう。~ 以下にmalloc, freeを使用したC言語サンプルソースを記します。 #contents #htmlinsertpcsp(c-top.html,c-sp.html) * 関連記事 [#a02e367b] -[[メモリの内容を指定した値で初期化する・memset>メモリ/メモリの内容を指定した値で初期化する・memset]] -[[メモリ内容をコピーする・memcpy>メモリ/メモリ内容をコピーする・memcpy]] -[[構造体の内容をコピーする・memcpyは使わない!>メモリ/構造体の内容をコピーする・memcpyは使わない!]] -[[メモリの比較を行う・memcmp>メモリ/メモリの比較を行う・memcmp]] -[[動的にメモリを取得する・malloc>メモリ/動的にメモリを取得する・malloc]] -[[動的メモリサイズを拡張する・realloc>メモリ/動的メモリサイズを拡張する・realloc]] -[[malloc,calloc,reallocで取得したメモリを解放する・free>メモリ/malloc,calloc,reallocで取得したメモリを解放する・free]] * free関数の書式など [#pd044c16] 以下にfree関数の書式等を記します。 -必要なインクルード #include <stdlib.h> -書式 void free(void *ptr); -引数~ フリー(解放)するメモリのポインタ -戻り値~ なし * freeを使用したサンプルソース [#ze112205] 以下にfreeを使用したC言語サンプルソースを記します。 &ref(free.c); (改行コードLF) #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main(void) { char *src = "HELLO WORLD!\n"; char *p = NULL; int i; p = malloc(strlen(src)+1); if (p == NULL) { perror("malloc() error!"); exit(EXIT_FAILURE); } strcpy(p,src); printf("%s", p); if (p != NULL) { free(p); p = NULL; } return 0; } 以下にコンパイルし実行した結果を記します。 $ gcc free.c -o free $ ./free HELLO WORLD! 以上、malloc, freeのサンプルソースでした。 #htmlinsertpcsp(c-btm.html,c-sp.html)
テキスト整形のルールを表示する
添付ファイル:
free.c
396件
[
詳細
]