工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C言語のcalloc():ゼロ初期化メモリ割り当てと実践例

C言語のcallocとは

calloc()関数は、同サイズの複数メモリブロックを割り当て、全バイトをゼロで初期化します。配列や構造体などの複雑なデータ構造に用いられる動的割り当てルーチンで、void *ポインタを返します。

malloc()が単一の連続ブロックを確保するのに対し、calloc()はn個のブロック(各sizeバイト)を要求し、それらがゼロ初期化かつ連続していることを保証します。

構文

ptr = (cast_type *)calloc(n, size);

callocの使用例 — サンプルプログラム

以下のプログラムは、calloc()を用いて等差数列の最初の10項の和を計算する方法を示します。

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    int *ptr, sum = 0;
    ptr = calloc(10, sizeof(int));
    if (!ptr) {
        fprintf(stderr, "Error! Memory not allocated.\n");
        return EXIT_FAILURE;
    }
    printf("Calculating the sum of the first 10 terms:\n");
    for (int i = 0; i < 10; ++i) {
        ptr[i] = i;
        sum += ptr[i];
    }
    printf("Sum = %d\n", sum);
    free(ptr);
    return EXIT_SUCCESS;
}

出力

Calculating the sum of the first 10 terms:
Sum = 45

C言語

  1. ハース CNC M97 ローカルサブプログラム呼出しをマスター:ステップバイステップ例題
  2. CNCプログラミング基礎:ステップバイステップ チュートリアル & サンプルコード
  3. C++構造体を実例で徹底解説
  4. C++ std::map完全ガイド:連想配列の実践的活用とコード例
  5. C++のstd::listをマスターする:構文、関数、実践例
  6. C++関数を実例で徹底解説:基本から応用まで
  7. C言語のrealloc()活用ガイド:構文、ベストプラクティス、実例
  8. C言語free()関数完全マスター:実践ガイドと例
  9. Python strip()メソッド完全ガイド:実践例付き
  10. Javaで挿入ソート:わかりやすい例とステップバイステップガイド
  11. Javaで選択ソート:ステップバイステップ例と完全コード