c語(yǔ)言數(shù)組怎么用 在C語(yǔ)言編程中,定義一個(gè)數(shù)組時(shí)要不要初始化?
在C語(yǔ)言編程中,定義一個(gè)數(shù)組時(shí)要不要初始化?首先,我們需要知道什么是初始化:當(dāng)聲明變量時(shí),賦值就是初始化。隨后的賦值語(yǔ)句不是初始化。一般來說,如果直接引用一個(gè)變量而沒有給它一個(gè)定值,系統(tǒng)就不能保證其操
在C語(yǔ)言編程中,定義一個(gè)數(shù)組時(shí)要不要初始化?
首先,我們需要知道什么是初始化:當(dāng)聲明變量時(shí),賦值就是初始化。
隨后的賦值語(yǔ)句不是初始化。
一般來說,如果直接引用一個(gè)變量而沒有給它一個(gè)定值,系統(tǒng)就不能保證其操作的唯一性,這是我們程序不允許的。所以我們通常使用初始化方法來確定它的值。
但并非總是如此。如下所示:
int i
for(i=0I
i通過賦值而不是初始化來確定值。
如果在引用數(shù)組元素之前未確定其值,則程序可能會(huì)無限期運(yùn)行。
因?yàn)橛袃煞N方法來確定數(shù)組元素的值:初始化和賦值,所以“必須初始化”是不合理的。
c語(yǔ)言,可不可以不初始化數(shù)組?
如果將數(shù)組定義為全局?jǐn)?shù)據(jù)(在主函數(shù)外定義),則編譯器將幫助您初始化數(shù)組位0,但如果它不是全局?jǐn)?shù)據(jù),則數(shù)組元素的值是不確定的。(事實(shí)上,多少與您使用的編譯器有關(guān),例如,vc6.0將初始化十六進(jìn)制數(shù)CC)但如果您這樣定義數(shù)組inta[10]={1,2},則有些編譯器會(huì)將以下項(xiàng)初始化為0,但不能保證所有編譯器都會(huì)這樣做,因此不建議這樣做,并嘗試初始化數(shù)組。