C語言 一維數(shù)組元素的引用
定義了數(shù)組之后,才可以引用其中的元素。c語言規(guī)定,只能引用數(shù)組中的元素,而不能利用數(shù)組名來整體引用一個(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)的值,然后再通過該值決定弓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)镃語言不對(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語言操作,如被賦值、參與計(jì)算、輸入輸出等。
理解下標(biāo)的值和數(shù)組元素值之間的區(qū)別非常重要。例如:某教師教授采礦1班的課程,該班有30個(gè)學(xué)生。上課時(shí)需要找學(xué)生回答問題,但沒有帶名單。那么他可以這樣說:采礦1班的3號(hào)回答一下這個(gè)問題。在這里可以這樣理解:采礦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)來實(shí)現(xiàn),尤其是計(jì)數(shù)循環(huán)for語句更適合于實(shí)現(xiàn)對(duì)數(shù)組的操作:將循環(huán)控制變量作為數(shù)組下標(biāo)依次對(duì)數(shù)組元素進(jìn)行存取。
點(diǎn)擊加載更多評(píng)論>>