請問在C裡面,我要定義陣列,但是陣列的大小不確定

2021-03-04 09:00:40 字數 611 閱讀 6093

1樓:16減7等於

賦值:*(a+i) = 0; /* i 是陣列下標 */

或者a[i] = 0; /* 也可以,但我個人不推薦。*/

2樓:匿名使用者

和int a[10]用法一樣。

好好學習陣列和指標的關係,重定向和索引的關係。

3樓:

在c語言中,只有在堆上才能申請動態陣列。通過malloc可以申請使用者自由輸入長度的陣列,通過realloc可以將已有的記憶體區域重新分配(擴充或縮減)。

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

4樓:梨花濺雨心微涼

假設陣列存的是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語言中,定義陣列inta4345678910則a

陣列不能這樣初始化要用逗號,a 0 3 6 這個陣列貌似不對吧 c語言問題 若有說明int a 4 1,2,3,4,5,6,7,8,9 則陣列a第一維 若有說明int a 4 則陣列a第一維是3。定義陣列並賦值時c語言規定下標是這樣的,a n 中的n個元素應該是a 0 a n 1 因此int a 4...

c語言中定義指向字元的指標陣列chars5則

void sort char s 這裡接收到的是抄指襲針陣列,即 陣列中各元素 是指標位址,s是陣列首位址 s i 表示第i 1個元素 的值 位址,乙個字串的首位址,s i 表示這個字串的第乙個元素,是個字元 s i是第i 1個元素的位址,s i 是位址中的資料,等同於s i c語言中char是什麼...

c語言題目陣列在定義時和引用時所帶的下標有何區別

定義時 下標 表示 這個陣列的 總的元素個數。就是總大小。引用時候 下標是個 標記。用scanf s 不能輸入空格的。gets 可以 定義時指的是元素的個數n,而引用的時候是單個元素,0 n 1 使用getline type a 19 type a a 10 於是,a成為乙個下標為 9 9的type...