首頁 > 易卦

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

作者:由 森式嵌入 發表于 易卦日期:2021-12-01

一個跳脫字元佔幾個位元組

陣列在C語言中非常常見,我們在學習和實際開發當中也經常會用上。那麼關於陣列的基本知識,你瞭解多少呢?

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

概念:

從硬體層面上看,陣列實際上就是由系統分配的一片連續的記憶體。裡面可以存放各種各樣的資料型別:整型、字元(實際上是一個位元組的整型)等等。

例如:

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

陣列的初始化:

在第一次給數組裡面的每個元素賦值的時候叫陣列的初始化,每個元素都賦值了叫做完全初始化,只給一部分元素賦值叫做部分初始化。

例如:

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

陣列初始化的時候要注意:

1。 陣列定義的時候必須確定它的大小(寫上元素個數 、 初始化)

2。 區域性變數中定義陣列如果沒有初始化則陣列的值為隨機值

陣列元素的引用:

陣列中元素的引用一般是用偏移量(下標)來表示,陣列的名字大部分情況下是表示該陣列的入口地址。

例如:

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

陣列的尺寸:

陣列的大小是由數組裡面的元素個數以及資料型別所決定的

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

多維陣列:

在學校剛接觸C語言的時候老師可以會和你說,二維陣列實際上是一個由行和列所排列成的矩陣,三維陣列就是在二維陣列的基礎上在加上高度。這實際上是一個有誤的說法,也比較難懂。在記憶體裡面沒有所謂的長寬高,記憶體都是線性的。因此多維陣列可以理解成一個數組的巢狀,像俄羅斯套娃一樣,一層套一層。

例如

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

萬能的陣列拆解方法:

任意一個數組不管有多複雜,它都只有兩個組成部分

第一部分:說明這是一個數組並確定元素的個數以及陣列名字

第二部分:確定該陣列中每一個元素所存放的資料型別

關於C語言的陣列,很多學習者都理解錯了!收好這份C語言陣列乾貨

以上概念都搞懂也就意味著C語言中的陣列你已經入門了,恭喜你。

度白嵌入式,持續為大家分享嵌入式乾貨,有興趣的朋友可關注交流。