C語言 一維數組元素的初始化
變量在聲明時可進行初始化,同樣,C語言允許在定義數組時為數組賦初值,稱之為數組的初始化。
1.一維數組初始化的形式
對一維數組進行初始化的一般形式為:
類型標識符 數組名[元素個數]={初值列表};
2.說明
(1)初值列表是一個用逗號分隔開的數組元素初值表,這些值都是常量的形式。
(2)初值表中常量的類型必須與類型說明符一致。
(3)初始化的順序為:按照初值列表中值的順序依次存入數組的各個元素中。例如:
int a[10]={2,6.5,3.1,7,8.9.4.0};
定義了一個含10個元素的整型數組,并在定義的同時為數組初始化,依次將初值列表中的數據存入數組元素中,這樣a[0]得到了2, a[1]得到了6, a[2]得到了5……a[9]得到了 0。
3.對一維數組初始化的方法
對一維數組進行初始化一般由以下幾種方法:
(1)在定義數組時,對數組中的全部元素賦初值。例如:
int a[5] = {0,l,2,3,4];
依次將0、1、2、3、4賦給數組元素a[0]、a[1]、a[2]、a[3]、a[4]。
(2)在定義數組時,對部分數組元素賦予初值。
int a[5] = {l,2};
數組有5個元素,但初值列表中只有2個值,這表示只給前面2個元素賦初值,a[0]得到1, a[1]得到 2,其他元素為0。
(3)對全部數組元素賦初值時,可省略數組長度,系統(tǒng)自動確定。例如:
int a[]={0,l,2,3,4};
等價于:
int a[5] = {0,1.2,3.4};
之所以可以省略數組長度,是因為在對數組初始化時,系統(tǒng)可以通過初始化列表中數據的個數來確定數組的長度。通常情況下,未初始化的數組只是在內存中分配了指定大小的存儲空間,但每個存儲空間中的初值是不可知的。例如:
main()
{
int a [5] ; int i;
for (i-0:i<5;i++)
printf (" %d",a [i]);
}
程序執(zhí)行,輸出結果為:
-858993460 -858993460 -858993460 -858993460 -858993460
可以看出,未初始化的數組,初值是沒有意義的值。
如果想把一個數組中全部元素賦值為0,應該寫成:
int a[5]={0,0,0,0,0};
或者也可以寫成:
int a[5]={0};
這是因為初始化時,如果指定的初值元素個數比數組元素要少,剩下的全部被賦值為0。
點擊加載更多評論>>