| ヘッダ | stdlib.h |
| 書式 | void *malloc(size_t size); |
| 引数 | size … 動的に確保するメモリのサイズ(バイト単位) |
| 戻り値 | 成功:確保されたメモリのポインタ 失敗:NULL |
| 解説 | システムのメモリからsizeバイトのメモリを確保してプログラムに割り当て、そのポインタを返す。 確保したメモリは不要になったらfree()関数で解放するように注意する。また、malloc()で確保したメモリは初期化されていないので、memset()などを使用して初期化する必要がある。 |
メモリを動的に確保して、解放するプログラム
/****************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *pstr;
pstr = malloc(256); // 256バイト分のメモリを確保する
memset(pstr, '\0', 256); // メモリの内容を初期化する
memcpy(pstr, "ABCDEFG", 5); // 文字列"ABCDEFG"の最初の5バイトをpstrにコピーする
printf("%s\n", pstr);
free(pstr); // メモリを解放する
return 0;
}
/****************************************************************************/

Copyright(c) 2010 , cgengor
このWebページの内容を無断で複製または転載することを禁じます。
このWebページの情報を利用することにより発生したいかなる損害について著作権保有者はいっさいの責任を負いません。