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...