1. C語音如果數組個數不確定應該怎樣定義數組
第一種方法:最大值法。
申請的數組可能需要30個左右,於是申請數組大小固定為40;
第二種方法:動態分配,即指針。
需要大小為n的整型數組,int *pn = (int*)malloc(n*sizeof(int));
2. c語言中想定義一個不知道大小的數組怎麼辦
有幾種方法:
1)可以定義一個足夠大的數組,保證夠用就好。
2)使用鏈表結構,用一個申請一個元素的空間
3)用malloc先申請一定的空間作為數組的空間,等到不夠用的時候,再重新malloc一個更大的空間,將舊的那個空間里的數據拷貝過來,作為數組的新的空間,然後free掉舊的那個空間即可。
3. C語言不知道輸入數組的個數怎麼設置一維數組
可以定義一個變數i,初始化為0,每次輸入成功i自加1,這樣輸入結束i的大小就是輸入數組的個數。
4. c語言若不知道要輸入多少組數據進行處理,應該怎麼輸入,該怎麼寫
main()
{
int ary[A];
int i=0,j=0,m;
int SIZE;
printf("Please input the size of the array:");
scanf("%d",&SIZE);
for(i=0;i<SIZE;i++)
{
printf("Please input number %d:",i+1);
scanf("%d",&ary[i]);
}
上面這個例子中利用SIZE大小控制for循環 來控制數組大小。這是第一種,比較簡單
第二種是分配動態內存 例如:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j;
int **a;
int nrows,ncolumns;
printf("Input rows and columns length: ");
scanf("%d%d",&nrows,&ncolumns);
printf("\n");
a=(int**)malloc(nrows*sizeof(int *)); //////////int *
for(i=0;i<nrows;i++)
{
a[i]=(int*)malloc(ncolumns*sizeof(int));
for(j=0;j<ncolumns;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0; i<nrows;i++)
for(j=0;j<ncolumns;j++)
{
printf("%d ",a[i][j]); /////////////remove &
}
free(a);
printf("\n");