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

C語(yǔ)言 一維數(shù)組元素的引用

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

    定義了數(shù)組之后,才可以引用其中的元素。c語(yǔ)言規(guī)定,只能引用數(shù)組中的元素,而不能利用數(shù)組名來(lái)整體引用一個(gè)數(shù)組。

    對(duì)數(shù)組元素的引用形式由數(shù)組名加方括號(hào)中的下標(biāo)組成,即:數(shù)組名[下標(biāo)]。

    下標(biāo),數(shù)組元素在數(shù)組中的順序號(hào),用于區(qū)分每個(gè)數(shù)組元素,指明要操作哪個(gè)數(shù)組元素。整型的任何表達(dá)式都可以作為數(shù)組下標(biāo)出現(xiàn),例如: 0、4-3 ‘d’ - ‘b’、10%3等都可以作為數(shù)組的下標(biāo)出現(xiàn)在數(shù)組元素引用中。因?yàn)槊看纬绦蛑谐霈F(xiàn)一個(gè)下標(biāo)變量時(shí),系統(tǒng)會(huì)首先求出下標(biāo)的值,然后再通過(guò)該值決定弓I用數(shù)組中哪一個(gè)元素。

    但是要注意數(shù)組下標(biāo)的取值范圍,以便于合法引用數(shù)組元素。下標(biāo)的范圍為:從0到元素個(gè)數(shù)-1。 

    例如:

    int a [5];

    則數(shù)組a的元素分別為a[0]、a[1]、a[2]、a[3]、a[4];但a[5]不是一個(gè)合法的數(shù)組元素。

    程序員需要自己掌握下標(biāo)是否在聲明范圍內(nèi)。因?yàn)镃語(yǔ)言不對(duì)下標(biāo)越界做檢查,大多數(shù)情況下,下標(biāo)越界運(yùn)行時(shí)并不報(bào)錯(cuò),但可能會(huì)引起不正確的程序結(jié)果。

    對(duì)于數(shù)組元素的操作可以像普通變量一樣,例如:

main()

{

    int x[5];

    x[0]=l;

    x[l]=[0]+10;

    x['c'-'a']=x[0]+10;

    x[1+3]=x[1]+x[0];

    printf("%d\n",x[l]);

}

    程序中,數(shù)組x的各個(gè)元素和普通變量一樣,可以參與各種C語(yǔ)言操作,如被賦值、參與計(jì)算、輸入輸出等。

    理解下標(biāo)的值和數(shù)組元素值之間的區(qū)別非常重要。例如:某教師教授采礦1班的課程,該班有30個(gè)學(xué)生。上課時(shí)需要找學(xué)生回答問(wèn)題,但沒(méi)有帶名單。那么他可以這樣說(shuō):采礦1班的3號(hào)回答一下這個(gè)問(wèn)題。在這里可以這樣理解:采礦1班為數(shù)組名,該數(shù)組中含30個(gè)元素,以學(xué)號(hào)作為每個(gè)元素的下標(biāo)。這樣1號(hào)就對(duì)應(yīng)了張三同學(xué)、2號(hào)對(duì)應(yīng)了李四同學(xué)、3號(hào)對(duì)應(yīng)了王五同學(xué)……所以,這個(gè)例題中,班級(jí)名作為數(shù)組名出現(xiàn);學(xué)號(hào)作為下標(biāo)出現(xiàn),而每個(gè)元素所對(duì)應(yīng)的值為每位同學(xué)。

    根據(jù)數(shù)組的有序性,對(duì)于數(shù)組元素的處理,往往使用循環(huán)來(lái)實(shí)現(xiàn),尤其是計(jì)數(shù)循環(huán)for語(yǔ)句更適合于實(shí)現(xiàn)對(duì)數(shù)組的操作:將循環(huán)控制變量作為數(shù)組下標(biāo)依次對(duì)數(shù)組元素進(jìn)行存取。

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

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