C言語例文集


 malloc()    メモリを動的に割り当てる

ヘッダ 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;
}
/****************************************************************************/

<実行結果>



<Topページ>

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