動的配列 C 言語の実装方法: malloc と free: malloc() を使用してメモリを割り当て、realloc() を使用してサイズを変更し、free() を使用してメモリを解放します。 stdlib.h の配列関数: realloc() はサイズを変更し、calloc() は作成して 0 に初期化し、reallocarray() は要素の数を指定します。
動的配列を使用すると、実行時に必要に応じて配列のサイズを調整できるため、実行時に発生する問題を回避できます。静的配列を使用すると、メモリの無駄やオーバーフローの問題が発生します。 C 言語では、動的配列を実装する主な方法が 2 つあります。
malloc と free は、動的メモリ割り当てに使用される C 言語の関数です。 malloc() を使用してメモリのブロックを割り当て、そこに配列要素を格納できます。必要に応じて、realloc() を使用して、割り当てられたメモリ サイズを変更することもできます。配列が不要になった場合は、free() を使用して割り当てられたメモリを解放する必要があります。
サンプル コード:
<code class="c">#include <stdlib.h> int main() { // 分配一个包含 10 个整数的动态数组 int *array = (int *)malloc(10 * sizeof(int)); // 访问和修改数组元素 array[0] = 1; array[9] = 10; // 使用 realloc() 增大数组大小 array = (int *)realloc(array, 20 * sizeof(int)); // 释放动态数组 free(array); return 0; }</code>
C 標準ライブラリには、動的配列用の関数もいくつか用意されています。
サンプルコード:
<code class="c">#include <stdlib.h> int main() { // 使用 calloc() 创建一个包含 10 个整数的动态数组,并将其元素初始化为 0 int *array = (int *)calloc(10, sizeof(int)); // 使用 reallocarray() 增大数组大小 array = (int *)reallocarray(array, 20, sizeof(int)); // 释放动态数组 free(array); return 0; }</code>
以上がC言語での動的配列の実装方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。