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

C語(yǔ)言 一維數(shù)組元素的初始化

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-30

變量在聲明時(shí)可進(jìn)行初始化,同樣,C語(yǔ)言允許在定義數(shù)組時(shí)為數(shù)組賦初值,稱之為數(shù)組的初始化。

1.一維數(shù)組初始化的形式

對(duì)一維數(shù)組進(jìn)行初始化的一般形式為:

類型標(biāo)識(shí)符 數(shù)組名[元素個(gè)數(shù)]={初值列表};

2.說明

(1)初值列表是一個(gè)用逗號(hào)分隔開的數(shù)組元素初值表,這些值都是常量的形式。

(2)初值表中常量的類型必須與類型說明符一致。

(3)初始化的順序?yàn)椋喊凑粘踔盗斜碇兄档捻樞蛞来未嫒霐?shù)組的各個(gè)元素中。例如:

    int a[10]={2,6.5,3.1,7,8.9.4.0};

    定義了一個(gè)含10個(gè)元素的整型數(shù)組,并在定義的同時(shí)為數(shù)組初始化,依次將初值列表中的數(shù)據(jù)存入數(shù)組元素中,這樣a[0]得到了2, a[1]得到了6, a[2]得到了5……a[9]得到了 0。

3.對(duì)一維數(shù)組初始化的方法

對(duì)一維數(shù)組進(jìn)行初始化一般由以下幾種方法:

(1)在定義數(shù)組時(shí),對(duì)數(shù)組中的全部元素賦初值。例如:

    int a[5] = {0,l,2,3,4];

依次將0、1、2、3、4賦給數(shù)組元素a[0]、a[1]、a[2]、a[3]、a[4]。

(2)在定義數(shù)組時(shí),對(duì)部分?jǐn)?shù)組元素賦予初值。

    int a[5] = {l,2};

數(shù)組有5個(gè)元素,但初值列表中只有2個(gè)值,這表示只給前面2個(gè)元素賦初值,a[0]得到1, a[1]得到 2,其他元素為0。

(3)對(duì)全部數(shù)組元素賦初值時(shí),可省略數(shù)組長(zhǎng)度,系統(tǒng)自動(dòng)確定。例如:

    int a[]={0,l,2,3,4};

等價(jià)于:

    int a[5] = {0,1.2,3.4};

    之所以可以省略數(shù)組長(zhǎng)度,是因?yàn)樵趯?duì)數(shù)組初始化時(shí),系統(tǒng)可以通過初始化列表中數(shù)據(jù)的個(gè)數(shù)來(lái)確定數(shù)組的長(zhǎng)度。通常情況下,未初始化的數(shù)組只是在內(nèi)存中分配了指定大小的存儲(chǔ)空間,但每個(gè)存儲(chǔ)空間中的初值是不可知的。例如:

main()

{

    int a [5] ; int i; 

    for (i-0:i<5;i++)

        printf (" %d",a [i]);

}

程序執(zhí)行,輸出結(jié)果為:

-858993460  -858993460  -858993460  -858993460  -858993460

可以看出,未初始化的數(shù)組,初值是沒有意義的值。

如果想把一個(gè)數(shù)組中全部元素賦值為0,應(yīng)該寫成: 

    int a[5]={0,0,0,0,0};

或者也可以寫成: 

    int a[5]={0};

這是因?yàn)槌跏蓟瘯r(shí),如果指定的初值元素個(gè)數(shù)比數(shù)組元素要少,剩下的全部被賦值為0。

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

相關(guān)視頻回答
回復(fù)(0)
返回頂部