一、數組簡介
<1>前言
大家首先來思考一個問題,若是我們想要定義兩個變量,求這兩個數的平均數,該怎么求呢?
例如:int a = 10,b = 20
int average = (a + b) / 2;
上面的公式,我相信大家應該很快就能夠求出來。
若是,我們想要定義5個變量,求他們的平均值呢?
我們是不是要這么寫?
Int a = 1,b = 2,c = 3,d = 5,e = 5;
我相信這樣寫,大家應該也能求出來。不過,大家這個時候,應該會感覺到比較麻煩了,我們定義了太多的變量了。若是我們要求100個變量的平均數的話,那么豈不是我們要定義100個變量。這樣,我想要是沒有耐心的同學,肯定早就不干了吧!因此,我們聰明的程序員提出來一個叫做數組的概念。
<2>數組的概念
數組:我們把相同數據類型變量的集合稱為數組。
<3>定義方式
數據類型 變量名[數組元素的個數]
例如:int a[5];//我們定義了5個int類型的元素。
<4>內存中的排序
int a[5];
由上圖,我們可以看出:
<1>數組中共有5個元素,a[0],[1],a[2],a[3],a[4]
<2>數組的第一個下標為0,最后一個下標為數組元素個數-1
<3>數組中每個成員的大小:數組組中每個成員的大小,取決于數組元素的數據類型,此時數組成員的大小:4byte(一個int類型大小)
<4>整個數組的大小=一個數組成員的大小*數組元素的個數
即:4 * 5 = 20;
或者 sizeof(數組名),可得數組的大小
注意:數組的數組名標示數組首元素的首地址。
以int a[5]為例, 數組首元素為a[0],則它的地址為&a[0],故a 其實標示了&a[0].
思考:我們怎么理解a[0],a[1],a[2],a[3]?
a<===>&a[0]
a[0] =====>表示數組名a沒有偏移,然后去對應地址中的數據。
a[1]======>表示a偏移了一個地址 1 個數組元素數據類型的大小,然后取該地址中的數據
a[2]======>表示a偏移了一個地址 2個數組元素數據類型的大小,然后取該地址中的數據
實例代碼:
運行結果: