c語言 一維陣列如何增加長度

時間 2021-07-21 03:36:36

1樓:風若遠去何人留

c語言一維陣列分靜態一維陣列和動態一維陣列兩種。

一、靜態一維陣列,在定義的時候就已經確定其長度。如

int a[10];

就是定義了一個長度為10個元素的整型陣列。

靜態陣列不支援長度的增加。如果要增加長度,只能新定義一個更長的陣列,並把原始陣列的資料複製到新陣列中。

二、動態一維陣列,本質上是一個一維指標,並在其上分配一段記憶體,在這段記憶體上,可以當做陣列來使用。

這種情況下,可以通過realloc函式,來實現增加長度。

int *p; //定義指標

p = malloc(10*sizeof(int));//分配10個元素。

p = realloc(p,20*sizeof(int));//重新分配,長度增加到20. 使用該函式,可以保持原本空間內的資料不變,只是可用空間增加。

2樓:

無法增加長度,你可以定義一個新陣列,然後把舊的陣列資料複製到新陣列

3樓:

c語言一維陣列不能直接增加長度,但可以採用動態空間分配間接地實現此功能。

4樓:匿名使用者

不能增加長度,如果需要能增加長度的陣列,建議使用vector

5樓:四群小

用int *cam_gm = new int [i];來定義動態陣列

求助 C語言二維陣列指標問題,c語言二維陣列用指標表示的問題

1.對於int p a p型別和a是不同的。p是指向乙個指標 指向int型別的量 的指標,a則是指向乙個一維陣列 含2個int元素 的指標。想要建立相同型別的指標應該用int p 2 才行 3.感覺p跟a就同級吧但型別不同 所以其實int p a 兩側的指標的型別是不相同的,只是a的值賦給p而已 假...

微控制器C語言陣列賦值求助,C語言一維陣列賦值方法

陣列只能在定義的時候整體賦值,不能在之後這樣用。所以你只能寫成 uchar frist 5 而不能寫成 uchar frist 5 frist 5 如果你真的要在之後賦值,特別是每個成員不一樣,你只能用迴圈或者手動乙個乙個賦值。或者先把所有值放在另外乙個數值然後memcpy給目標陣列。uchar 你...

c語言一維陣列中如何查詢指定元素

1 開啟pycharm,新建test list.py,如圖所示。2 定義lista a b c d e 使用len函式來判斷陣列長度,alt f10執行後可以看到結果是5,注意獲取列表的值用 陣列名 序號 3 通過 陣列名 序號 可以獲取陣列裡指定位置的元素值,有個前提是 指定位置 必須小於陣列長度...