C/C++編程筆記:幫你整理了"數(shù)組"的知識(shí)點(diǎn)!趕緊收藏

C或C ++中的數(shù)組是存儲(chǔ)在連續(xù)內(nèi)存位置的項(xiàng)目的集合,可以使用數(shù)組的索引隨機(jī)訪問元素。它們用于存儲(chǔ)相似類型的元素,因?yàn)樗性氐臄?shù)據(jù)類型必須相同。

它們可用于存儲(chǔ)原始數(shù)據(jù)類型的集合,例如任何特定類型的int,float,double,char等。另外,使用C或C ++的數(shù)組可以存儲(chǔ)派生的數(shù)據(jù)類型,例如結(jié)構(gòu),指針等。
下面給出的是數(shù)組的如畫表示。

我們?yōu)槭裁葱枰獢?shù)組??
當(dāng)對(duì)象較少時(shí),可以使用普通變量(v1,v2,v3,..),但是如果要存儲(chǔ)大量實(shí)例,則很難用普通變量來管理它們。數(shù)組的想法是在一個(gè)變量中表示許多實(shí)例。
C / C ++中的數(shù)組聲明:?

注意:在上圖中int a [3] = {[0…1] = 3};?自GCC 2.5起,這種聲明就已經(jīng)過時(shí)了
我們可以通過多種方式聲明數(shù)組??梢酝ㄟ^指定其類型和大小,對(duì)其進(jìn)行初始化或同時(shí)對(duì)二者進(jìn)行初始化來完成。
通過指定大小聲明數(shù)組:
int arr1[10];
int n = 10;
int arr2[n]
通過初始化元素進(jìn)行數(shù)組聲明:
int arr[] = { 10, 20, 30, 40 }
通過指定大小和初始化元素進(jìn)行數(shù)組聲明:
int arr[6] = { 10, 20, 30, 40 }
C / C ++中的數(shù)組的優(yōu)點(diǎn):
使用數(shù)組索引隨機(jī)訪問元素。
使用較少的代碼行,因?yàn)樗鼊?chuàng)建了多個(gè)元素的單個(gè)數(shù)組。
輕松訪問所有元素。
使用單個(gè)循環(huán),遍歷數(shù)組變得很容易。
排序變得很容易,因?yàn)榭梢酝ㄟ^編寫更少的代碼行來實(shí)現(xiàn)。
C / C ++中數(shù)組的缺點(diǎn):
允許輸入在聲明時(shí)確定的固定數(shù)量的元素。與鏈接列表不同,C中的數(shù)組不是動(dòng)態(tài)的。
元素的插入和刪除可能會(huì)很昂貴,因?yàn)樾枰鶕?jù)新的內(nèi)存分配來管理元素。
關(guān)于C / C ++中的數(shù)組的事實(shí):
訪問數(shù)組元素:
使用整數(shù)索引訪問數(shù)組元素。數(shù)組索引從0開始,一直到數(shù)組大小減去1。?

例:
C

C ++

沒有索引?
越界檢查:例如,在C / C ++中沒有索引越界檢查,以下程序可以正常編譯,但在運(yùn)行時(shí)可能會(huì)產(chǎn)生意外輸出。??
C

C++

輸出:-449684907 4195777
在C語言中,使用比指定大小更多的元素初始化數(shù)組不是編譯器錯(cuò)誤。例如,下面的程序可以正常編譯并僅顯示警告。
C

注意:該程序無法在C ++中編譯。如果將上述程序另存為.cpp,則該程序會(huì)生成編譯器錯(cuò)誤“錯(cuò)誤:'int [2]'的初始化函數(shù)太多”。?
元素存儲(chǔ)在連續(xù)的內(nèi)存位置中
示例:

C ++

輸出:
該編譯器中整數(shù)的大小為4
地址arr [0]為0x7ffe75c32210
地址arr [1]為0x7ffe75c32214
地址arr [2]為0x7ffe75c32218
地址arr [3]為0x7ffe75c3221c地址arr [4]為0x7ffe75c32220
遍歷數(shù)組的另一種方法
C ++

輸出:11 12 13 14 15 16?
數(shù)組與指針
數(shù)組和指針是兩個(gè)不同的東西(我們可以通過應(yīng)用sizeof進(jìn)行檢查)。發(fā)生混亂是因?yàn)閿?shù)組名稱指示第一個(gè)元素的地址,并且數(shù)組始終作為指針傳遞(即使我們使用方括號(hào))。
希望對(duì)你有幫助!
另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
