C語言中數組定(ding)義方(fang)式
時間:2018-12-28 來源(yuan):華清遠見
一、數組簡介
<1>前言
大家(jia)首先來思考一個問題,若是(shi)我們想要定義兩個變(bian)量,求這(zhe)兩個數(shu)的平均數(shu),該怎么(me)求呢(ni)?
例(li)如:int a = 10,b = 20
int average = (a + b) / 2;
上面的公(gong)式(shi),我(wo)相信大家(jia)應該很(hen)快就(jiu)能夠求(qiu)出來。
若是,我們(men)想要定義5個(ge)變量,求(qiu)他們(men)的(de)平(ping)均值呢?
我們是(shi)不是(shi)要這么寫(xie)?
Int a = 1,b = 2,c = 3,d = 5,e = 5;
我(wo)(wo)(wo)相信(xin)這(zhe)樣寫,大家應該也能求(qiu)出(chu)來。不過(guo),大家這(zhe)個(ge)時候(hou),應該會(hui)感覺到比較麻煩了,我(wo)(wo)(wo)們(men)(men)定(ding)(ding)義(yi)了太多的變量了。若(ruo)是我(wo)(wo)(wo)們(men)(men)要求(qiu)100個(ge)變量的平均數的話,那么豈不是我(wo)(wo)(wo)們(men)(men)要定(ding)(ding)義(yi)100個(ge)變量。這(zhe)樣,我(wo)(wo)(wo)想要是沒有耐(nai)心(xin)的同學(xue),肯(ken)定(ding)(ding)早(zao)就(jiu)不干了吧(ba)!因此(ci),我(wo)(wo)(wo)們(men)(men)聰明(ming)的程序員提出(chu)來一(yi)個(ge)叫做數組的概念。
<2>數組的概念
數(shu)組:我們把(ba)相同數(shu)據(ju)類型變量的集(ji)合稱為(wei)數(shu)組。
<3>定義方式
數據類型 變量名[數組元(yuan)素的個(ge)數]
例如:int a[5];//我們定義了(le)5個int類型的元素。
<4>內存(cun)中的排序
int a[5];

由(you)上圖,我們(men)可(ke)以看出:
<1>數組中共有5個元素(su),a[0],[1],a[2],a[3],a[4]
<2>數組的第一個下標為0,最后一個下標為數組元素個數-1
<3>數(shu)組(zu)(zu)(zu)中(zhong)每個成(cheng)員的大小(xiao)(xiao):數(shu)組(zu)(zu)(zu)組(zu)(zu)(zu)中(zhong)每個成(cheng)員的大小(xiao)(xiao),取決于數(shu)組(zu)(zu)(zu)元素的數(shu)據類(lei)型,此時數(shu)組(zu)(zu)(zu)成(cheng)員的大小(xiao)(xiao):4byte(一個int類(lei)型大小(xiao)(xiao))
<4>整個數組的(de)(de)大小(xiao)=一個數組成員的(de)(de)大小(xiao)*數組元素的(de)(de)個數
即:4 * 5 = 20;
或(huo)者 sizeof(數(shu)(shu)組名(ming)),可得數(shu)(shu)組的大小
注意:數(shu)組的數(shu)組名標(biao)示數(shu)組首元素的首地(di)址。
以int a[5]為(wei)例, 數組(zu)首元(yuan)素為(wei)a[0],則它的地(di)址為(wei)&a[0],故a 其實標示了&a[0].
思考(kao):我們(men)怎(zen)么理解a[0],a[1],a[2],a[3]?
a<===>&a[0]
a[0] =====>表(biao)示數組名a沒有偏移,然(ran)后去對應地址中的數據(ju)。
a[1]======>表(biao)示a偏移了一個地址(zhi) 1 個數(shu)組元素數(shu)據類(lei)型(xing)的大小(xiao),然(ran)后取該地址(zhi)中的數(shu)據
a[2]======>表示a偏移了一(yi)個地(di)址(zhi) 2個數組元素數據類(lei)型的大小(xiao),然后(hou)取該地(di)址(zhi)中的數據
實例代碼:

運行結果:


