009-數組-C語言筆記

009-數組-C語言筆記

學習目標

1.【掌握】數組的聲明數組

2.【掌握】數組元素的賦值和調用dom

3.【掌握】數組的初始化ide

4.【掌握】數組的遍歷函數

5.【掌握】數組在內存中的存儲學習

6.【掌握】數組長度計算spa

7.【掌握】數組的常見應用指針

8.【掌握】數組做爲函數的參數code

1、數組的聲明

做用:orm

能夠存儲指定數據類型指定個數的數據,數組與咱們以前學習的變量最大的不一樣就是咱們以前的變量只能存儲一個數據,而咱們的數組能夠存儲多個數據。blog

特色:

1.能夠存儲多個數據

2.雖然數組能夠存儲多個數據,可是並非什麼類型的數據均可以存儲的。要求存儲在數組中的數據的類型要一致,在建立數組的時候指定能夠存儲的多個數據的類型。

3.雖然數組能夠存儲多個數據,但不是任意個都能直接往裏面存儲的,數組之中能夠存儲的數據的個數是固定的,也是在建立數組的時候指定的,一旦指定,不能改變。

4.存儲在數組之中的數據很是方便管理,拿到數組就能夠很方便的拿到數組之中的數據

術語:

1.元素:數組中的每個小空間,就叫作數組的元素。

2.下標/索引:數組之中有不少元素,爲了區分每個元素,C語言就爲每個元素編了一個號,這個號就叫這個元素的下標/索引。下標/索引從0開始遞增。

3.長度:元素的個數。

語法:數組元素的數據類型 數組名[數組長度];

注意:

1.聲明數組的時候必需要指定數組的長度!

2.數組的長度能夠爲0,表示一個數據都不能存儲,數組長度也能夠爲1,表示只能存儲一個數據,但長度不能給負數和小數。

3.數組長度能夠是常量,變量,宏,表達式。可是長度一旦聲明,長度就不能改了。

4.當數組長度爲變量的時候,是不能在聲明數組的同時爲數組元素初始化值的。只能先聲明數組,而後再爲元素賦值。

2、數組元素的賦值和調用

數組真正用來存儲數據的是數組中的元素,而不是數組自己,數組指的是整個數組,因此咱們不能直接爲數組賦值。因此咱們應該將數據賦值給數組中的元素。數組之中有多個元素,元素的本質其實就是一個普通類型的變量。那咱們如何肯定是爲哪一個元素賦值呢?

賦值語法:數組名[元素的下標] = 數據;

調用語法:數組名[元素下標];

 

3、數組的初始化

在聲明數組的同時就初始化數組之中的每個元素的值。

注意:

在聲明數組的時候初始化元素,若是元素個數使用變量,就不能初始化。在編譯的時候,編譯器是不知道數組的長度的,因此無法初始化。

 

4、數組的遍歷

 

 

5、數組在內存中的存儲

111111111111111

數組其實就是由指定個數的連續的變量組合成的,存儲方式和普通變量存儲方式相同,把每個元素當作一個普通變量。分配內存空間的時候,只是分配多個連續空間分別存儲每一個元素,並且也是從高地址向低地址連續分配的。每一個元素的地址,就是他佔用字節的最低字節的地址。

數組的地址:數組之中第1個元素的地址,就是數組的地址。也就是下標爲0的元素的地址。

6、數組長度計算

sizeof(數組名)計算出這個數組在內存中佔用的總字節數。

sizeof(數據類型)計算出每一個元素在內存中佔用的字節數。

元素個數 = sizeof(數組名)/sizeof(數據類型);

 

7、數組的常見應用

1.求最大值

2.求最小值

3.求累加和

4.求平均值

5.查找數組是否包含指定元素

6.查找指定元素在數組中第一次出現的下標

7.選擇排序

雙色球案例練習:

 

8、數組做爲函數的參數

若是函數的形參是一個數組,在調用這個函數的時候,也必需要爲這個函數傳入一個相同類型的數組,而且是傳入數組的地址。而後函數操做的就是咱們傳進去那個數組,改變數組中的元素,也就是改變傳入的那個數組的元素。

注意:當數組做爲函數的參數的時候,傳入的是數組的地址,一個地址佔據8個字節。但一個數組若是佔據的內存大於8字節,將不能在函數裏經過sizeof計算數組的長度。並且函數裏的形參是去內存中申請8個字節存儲指針變量,並將傳入的數組地址賦值給這個指針變量。

咱們會發現函數中打印的數組地址和咱們聲明的數組的地址是一致的

相關文章
相關標籤/搜索