位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 一維數組元素的初始化

提問人:劉團圓發(fā)布時間:2020-11-30

變量在聲明時可進行初始化,同樣,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。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部