c語言中如何給不確定大小的陣列定義並使用

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

1樓:匿名使用者

c語言中沒有明確的「動態陣列」(也就是不確定大小的陣列)這個概念,只能用動態記憶體分配來實現,我給你一個思路:

建立陣列——用動態分配分配一個指定大小的記憶體(陣列)銷燬陣列——釋放動態分配記憶體

訪問元素——通過記憶體指標間接引用

增加元素——再分配一塊新記憶體區域(大小為增加後的大小),把久區域的元素資料複製到新的記憶體區,銷燬舊的記憶體區域

減少元素——與增加元素類似

具體的實現方法建議你多參考一下關於函式malloc(記憶體分配函式)的使用介紹

其實真的很麻煩,如果實在完成不了的話就學c++吧,c++建立動態陣列比較方便

2樓:匿名使用者

在c語言中,如果不知道陣列的大小是無法直接定義陣列的,如果真想定義,可以用指標定義

3樓:匿名使用者

int *a;//宣告一個陣列

int n;

cin>>n; // 輸入一個變數n,當然也可以你的程式中的其它的任何整型變數

a=new int[n]; //用new關鍵字為a分配可存放n個int型資料的空間

4樓:匿名使用者

example:

int *array;

int n=10;

array=(int *)malloc(n*sizeof(int));

5樓:匿名使用者

用 malloc 間接實現

6樓:匿名使用者

樓上強人,不過不夠通俗簡單,定義一個足夠大的陣列是最主流的簡單

比如a[1000]

c語言中,如何定義大小不確定,由執行時確定大小的陣列

7樓:匿名使用者

#include

#include // malloc, freeint main()

free( p ); // 用完記得釋放

return 0;}

在c語言中,如何定義長度不確定的陣列

8樓:黯湮灬逍遙

char *p;

進去後在分配。

沒法宣告長度不定的陣列。

因為陣列由編譯器在進入main函式**段前分配好的。

9樓:匿名使用者

沒有這樣的陣列,可以用連結串列來實現

10樓:匿名使用者

char array = ;

11樓:匿名使用者

用動態申請,malloc

c語言如何實現不確定長度的陣列

12樓:

這個比較複雜了,需要用連結串列採用記憶體空間申請的方式,初學者暫時可以不要考慮這個了

c語言定義陣列但是陣列長度不確定怎麼處理

13樓:冬di快樂

假設陣列存的是int型 那麼 你先申請10個元素 int* a = (int*)malloc(sizeof(int)*10); 如果又來了個元素,版那麼你就可以權 a=(int *)realloc(a,11*sizeof(int)); 求元素個數int i,n=1; for(i = 0;(a+i)!=null;i++) n=i+1;//n就是元素個數

14樓:改笛馮昆卉

一般不是這樣定義的,我一般都是,先定義好陣列長度,如inta[100],就是先把陣列定義的比較大就可以了,然後再intn;

scanf("d%",&n);

inta[n];

c語言定義陣列但是陣列長度不確定怎麼辦

15樓:梨花濺雨心微涼

假設陣列存的是int型

那麼 你先申請10個元素

int* a = (int*)malloc(sizeof(int)*10);

如果又來了個元素,那麼你

就可回以

a=(int *)realloc(a,11*sizeof(int));

求元素個數int i,n=1;

for(i = 0;(a+i)!=null;i++)n=i+1;//n就是

答元素個數

c語言陣列賦值問題,c語言中如何給陣列定義並賦初值?

靈凍冰晶霜月 我不清楚你想問什麼,不過第二種寫法是對的。char chars 11 是定義了一個初始值為空總數為11的字元陣列。char s c language 定義一個總數為11的字元陣列,但是有初值。注意是11個不是10個,用這種方定義的字元陣列末尾會加一個 0。陣列的賦值通常是使用花括號來表...

c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素

include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...

c語言如何給動態分配的陣列賦值,C語言如何給動態分配的陣列賦值

那樣賦值也只能用可變參了.void set int value,int num,int b int malloc 3 sizeof int set b,3,4,5,6 set 設定變數,設定的數量,值1,值2. 1 當成普通陣列使用,用for迴圈即可賦值。2 例程 include include i...