このエントリーをはてなブックマークに追加


指定したバイトの指定個数分メモリを確保する・calloc

指定したバイト数を指定した個数分、メモリを確保する関数としてcallocがあります。
mallocとの違いは、個数指定の部分のあるかないかの違いがあります。
以下にC言語サンプルソースを記します。


スポンサーリンク

関連記事

callocの書式など

以下にcallocの書式などについて記します。

  • 必要なインクルードファイル
    #include <stdlib.h>
  • callocの書式
    void *calloc(size_t n, size_t size);
  • 戻り値
    取得したメモリのポインタ
  • 引数
    1つ目:個数を指定
    2つ目:サイズ(バイト)を指定

callocのサンプルソース

以下にcallocを使用したCサンプルソースと実行結果を記します。

filecalloc.c (改行コードLF)

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    int *p;
    int i;

    p = calloc(10,sizeof(int));
    if (p == NULL) {
        perror("calloc() error!");
        exit(EXIT_FAILURE);
    }

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

    if (p != NULL) {
        free(p);
        p = NULL;
    }

    return 0;
}

コンパイルし実行した結果を以下に記します。

$ gcc calloc.c -o calloc
$ ./calloc 
p[0] = 0
p[1] = 1
p[2] = 2
p[3] = 3
p[4] = 4
p[5] = 5
p[6] = 6
p[7] = 7
p[8] = 8
p[9] = 9

以上、callocのサンプルソースでした。


スポンサーリンク

添付ファイル: filecalloc.c 464件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 21:01:00