詳解C語(yǔ)言初階之?dāng)?shù)組
1.數(shù)組
1.1數(shù)組的概念
所謂數(shù)組(array),就是具有相同數(shù)據(jù)類型的集合,存放的數(shù)據(jù)類型即數(shù)組本身的類型。
可以發(fā)現(xiàn)存儲(chǔ)的都是int型
補(bǔ)充 :調(diào)試小技巧
調(diào)試窗口 (按F5進(jìn)行調(diào)試,打開菜單欄中的調(diào)試—窗口—監(jiān)視—隨便打開一個(gè)監(jiān)視窗口,輸入arr,將程序運(yùn)行過arr的初始化即可觀察到arr內(nèi)部進(jìn)行的初始化)
1.2數(shù)組的定義
a:完全初始化
數(shù)組內(nèi)部存儲(chǔ)了4個(gè)int類型的數(shù)據(jù),分別是1,2,3,4
b:不完全初始化
要求開辟四個(gè)空間存儲(chǔ)數(shù)據(jù),但只對(duì)第一個(gè)進(jìn)行了初始化,默認(rèn)后面三個(gè)均為0
c:給定元素個(gè)數(shù)
給定元素個(gè)數(shù)后,可以是完全初始化,也可以是部分初始化。
d:不給定元素個(gè)數(shù)
自動(dòng)給四個(gè)元素分配空間,實(shí)際上中括號(hào)內(nèi)還是4
注意:
a
:不給定元素?cái)?shù)據(jù)一律視為完全初始化
b
:數(shù)組內(nèi)部元素個(gè)數(shù)至少為1
c
:[]內(nèi)部必須是整型常量(c90 標(biāo)準(zhǔn))——c99標(biāo)準(zhǔn)支持其他類型(linux),但我們主流仍舊采用c90標(biāo)準(zhǔn),同樣注意,我們一般所用的const定義的常量叫作常變量,本質(zhì)并不算常量,因此該類型數(shù)據(jù)同樣不能放在【】?jī)?nèi)
1.3數(shù)組的下標(biāo)訪問
數(shù)組可以通過指針和下標(biāo)來進(jìn)行訪問,這里我們來說下標(biāo)。
數(shù)組的第一個(gè)元素是【0】,即arr【0】代表第一個(gè)元素,arr【5】代表第六個(gè)元素
我們通常通過遍歷(即循環(huán))來對(duì)數(shù)組內(nèi)容進(jìn)行打印,如果存儲(chǔ)的是字符串的話,那我們只需要%s(用來打印字符串)即可。
注意:
a
:通常情況下,數(shù)組名即arr是數(shù)組的首元素地址(因此對(duì)整型數(shù)組進(jìn)行scanf循環(huán)輸入時(shí),直接scanf(“%d” ,arr)即可,而不用加&符號(hào)),但sizeof(arr)中的arr卻代表整個(gè)數(shù)組的大小
b
:sz=整個(gè)數(shù)組的大小/一個(gè)元素的大小==元素個(gè)數(shù),arr【0】?jī)?nèi)的0改為1/2/3.....均可,但一般采用0(數(shù)組至少一個(gè)元素),防止越界訪問(如一共只有四個(gè)元素,卻訪問了arr【5】)。
c
:對(duì)字符數(shù)組(存儲(chǔ)字符的數(shù)組)以%s進(jìn)行輸出時(shí),出現(xiàn)錯(cuò)誤,因?yàn)?s用來輸出字符串類型,即遇到字符串磨人的‘\0'結(jié)束符后停止輸出,但字符數(shù)組中沒有默認(rèn)的'\0'結(jié)束符,輸出不能停止,超出數(shù)組空間后便出現(xiàn)錯(cuò)誤,強(qiáng)制終止。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++11 學(xué)習(xí)筆記之std::function和bind綁定器
這篇文章主要介紹了C++11 學(xué)習(xí)筆記之std::function和bind綁定器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07C語(yǔ)言驅(qū)動(dòng)開發(fā)之內(nèi)核文件的讀寫
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言驅(qū)動(dòng)開發(fā)中內(nèi)核文件的讀寫的系列函數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06C語(yǔ)言簡(jiǎn)明清晰講解結(jié)構(gòu)體
C語(yǔ)言結(jié)構(gòu)體(Struct)從本質(zhì)上講是一種自定義的數(shù)據(jù)類型,只不過這種數(shù)據(jù)類型比較復(fù)雜,是由 int、char、float 等基本類型組成的。你可以認(rèn)為結(jié)構(gòu)體是一種聚合類型2022-05-05VSCode下.json文件的編寫之(1) linux/g++ (2).json中參數(shù)與預(yù)定義變量的意義解釋
這篇文章主要介紹了VSCode下.json文件的編寫之(1) linux/g++ (2).json中參數(shù)與預(yù)定義變量的意義解釋,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03C++中的Lambda表達(dá)式及表達(dá)式語(yǔ)句
這篇文章主要介紹了C++中的Lambda表達(dá)式及表達(dá)式語(yǔ)句,表達(dá)式這個(gè)概念在C++中屬于比較細(xì)節(jié)的知識(shí)了,很多時(shí)候我們只用知道怎么用,對(duì)于編譯器內(nèi)部怎么處理我們并不關(guān)心;并且關(guān)于左值和右值這個(gè)概念,也是C++比較深的一個(gè)小知識(shí)點(diǎn),需要的朋友可以參考一下2021-12-12C++ 模擬實(shí)現(xiàn)list(迭代器)實(shí)現(xiàn)代碼
這篇文章主要介紹了C++ 模擬實(shí)現(xiàn)list(迭代器)實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單版9*9掃雷小游戲
這篇文章主要介紹了用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單版9*9掃雷小游戲,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03