動態數組 C 語言實作方法:malloc 和 free:使用 malloc() 分配內存,realloc() 更改大小,free() 釋放記憶體。 stdlib.h 中的陣列函數:realloc() 會變更大小,calloc() 建立並初始化為 0,reallocarray() 指定元素數量。
#動態數組允許我們在運行時根據需要調整數組大小,從而避免使用靜態數組時遇到的內存浪費或溢出問題。在 C 語言中,實作動態陣列有兩種主要方法:
#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中文網其他相關文章!