中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言可變長數組怎樣擴容

小樊
88
2024-07-18 03:38:45
欄目: 編程語言

C語言中的可變長數組(也稱為動態數組)可以通過重新分配和復制數組的方式來擴容。具體步驟如下:

  1. 創建一個新的數組,大小比原數組大一定的倍數(通常是2倍),用于存放擴容后的元素。
  2. 將原數組中的元素逐個復制到新數組中。
  3. 釋放原數組的內存空間。
  4. 將新數組的指針賦給原數組的指針,完成擴容。

下面是一個簡單的示例代碼,展示如何擴容一個動態數組:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int initialCapacity = 5;
    int *arr = (int *)malloc(sizeof(int) * initialCapacity);
    int size = 0;
    int capacity = initialCapacity;

    // 添加元素到數組中
    for (int i = 0; i < 10; i++) {
        if (size == capacity) {
            capacity *= 2;
            arr = (int *)realloc(arr, sizeof(int) * capacity);
        }

        arr[size] = i;
        size++;
    }

    // 輸出數組中的元素
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    // 釋放內存
    free(arr);

    return 0;
}

在上面的代碼中,當數組的大小達到容量時,我們通過realloc函數重新分配內存空間,將容量擴大為原來的兩倍。然后將新的元素添加到數組中,直到所有元素都添加完畢。最后,記得釋放動態數組的內存空間。

0
化德县| 将乐县| 灵武市| 嘉荫县| 泌阳县| 苏尼特左旗| 南平市| 尚志市| 泸西县| 永新县| 九龙城区| 万源市| 汤原县| 南充市| 阳曲县| 洞口县| 从江县| 日喀则市| 绥芬河市| 改则县| 保德县| 乳源| 寿阳县| 泰顺县| 灯塔市| 南漳县| 扶沟县| 巢湖市| 合肥市| 白山市| 瓮安县| 富顺县| 繁昌县| 札达县| 平阴县| 安阳市| 马公市| 龙山县| 南涧| 内丘县| 宜春市|