陣列的定義和使用
一維陣列的定義方式:
在c語言中使用陣列必須先進行定義。
型別說明符 陣列名 [常量表示式];
例如: int a [10]; 表示定義了乙個整形陣列,陣列名為a,此陣列有十個元素,十個元素都是整型變數。十個元素的標號為a[0]~a[9]。
注意:
1、陣列大小為0沒有意義;
2、不能使用圓括號;
3、不能用變數說明陣列大小; int k,a[k];
陣列元素的一般形式為:
陣列名 [下標] ;
下標可以是整形長量或整形表示式。
例如:a[0]=a[5]+a[7]-a[2*3] (a[2*3]=a[6])
a[i+j]
a[i++]
都是合法的陣列元素。
注意:
在c語言中只能逐個地使用下標變數,而不能一次引用整個陣列。
例如:輸出有10個元素的陣列必須使用迴圈語句逐個輸出各下標變數:
一維陣列的初始化:for(i=0;i<10;i++)
賦值語句賦值:
初始化賦值:for(i=0;i<=9;i++)
初始化賦值是指在陣列定義時給陣列元素賦予初值。陣列初始化時在編譯階段進行的。
一般形式為:
型別說明符 陣列名[常量表示式]+;
可以只給一部分元素賦值:
int a [10]=;
這只表示給前面5個元素賦初值,後5個元素值為0。
如果想使乙個陣列中全部元素值為0,可以寫成:
int a[10]=;
或int a[10]=;
動態賦值:
就是讓使用者自己賦值,例如:
#includeint main()
max=a[0];
for(i=1;i<10;i++)
printf("maxnum=%d\n",max);
}
二維陣列的定義:
二維陣列定義的一般形式為:
型別說明符 陣列名 [常量表示式] [常量表示式];
例如:定義a為3行4列的陣列,b為5行8列的陣列。
float a [3][4],b[5][8];
可以想象成乙個矩陣。
二維陣列的初始化:
直接分行給二維陣列賦值。如:
int a [3][4]=,,};
可以將所有資料寫在乙個花括號內,按陣列排列的順序對各元素賦值。如:
int a [3][4]=;
可以對部分元素賦值。如:
int a [3][4];=,,};
如果對全部元素都賦值,則定義陣列時2對第一維的長度可以不指定,但第二維的長度不能省。如:
int a [3][4]=;
它等價於:
int a [ ][4]=;
在定義時也可以只對部分元素賦初值而省略第一維的唱的,但應分行賦初值。如:
int a [ ] [4]=,{},};
c語言陣列
陣列 構造資料型別之一 陣列是具有一定順序關係的若干個變數的集合,組成陣列的各個變數稱為陣列的元素。陣列中各元素的資料型別要求相同,用陣列名和下標確定。陣列可以是一維的,也可以是多維的。在科學計算中,許多重要的應用都是基於陣列的。所謂一維陣列是指只有乙個下標的陣列。它在計算機的記憶體中是連續儲存的。...
C語言陣列
在變數作函式引數時,所進行的值傳送是單向的。即只能從實參傳向形參,不能從形參傳回實參。形參的初值和實參相同,而形參的值發生改變後,實參並不變化,兩者的終值是不同的。而當用陣列名作函式引數時,情況則不同。由於實際上形參和實參為同一陣列,因此當形引數組發生變化時,實參陣列也隨之變化。當然這種情況不能理解...
C語言 陣列
陣列 void test1 for int i 0 i 5 i for int i 0 i 5 i 陣列資料倒序存放 void test2 printf 請輸入5個學生的成績 n for int i 4 i 0 i printf 輸出5個學生的成績 n for int i 0 i 5 i 將陣列的長...