C語言中數組定義方式


<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個數組元素數據類型的大小,然后取該地址中的數據

實例代碼:

 

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM