c語言構造類型之數組_01
構造類型--constructed type。至於定義,筆者就省略了,有興趣的同學可以百度搜索https://www.baidu.com/。今天我們要說的是c語言中最簡單的構造類型--數組(array)。
數組用於保存和處理一組具有相同類型的數據,形成一個邏輯組合並通過統一的名字進行訪問,你會發現尋找或引用數組中的元素只是方括號中的數值,也稱為索引(index)不同。
數組裏的每項數據稱為數組的元素,每一個元素在內存中是相鄰依序存儲,也就是數據存放一個緊接著一個,沒有斷開。每一個元素的訪問通過相同的數組名稱並使用一個位置序號來定位,表示這是數組裏的第幾個元素。
註意啦!在c語言裏,數組元素的表示形式是數組名加一個方括號(中括號),括號裏面的是元素的位置
1、一維數組(one dimensional array)
聲明格式: 類型名 數組名[數組元素個數]
其中,類型名表示數組所存儲元素的數據類型,比如說整型int,浮點型float等。數組名可以自己取,但是要註意的是:起數組名的時候最好還是根據你所做的工程起一些有含義的名稱,如此一來不會容易搞混,程序也會更加規範。還有一個值得註意的點是,數組中若指定元素數目,那麽在[]中的只能是整型數據或者是整數表達式,比如說[10]、[5+5]或者其他形式.
示例: int names[10]; 解析:int表示數組中的元素都是整型數據,名稱為names,數組當中總共有10個元素,這就意味著索引從0-9共10個元素,結尾記得加分號;,這是一個句子結束的標誌,不可粗心將之忘卻。至於這個數組占用的存儲空間大小,得看你的計算機分配給每一種數據類型多少存儲空間,這裏的話,假如你的計算機分配給int型數據的空間是4個字節(bytes),那麽這個數組所占用的存儲空間大小就是4*10(bytes),也就是40個字節(一個字節為8位(bit))。
數組元素的初始化:
(1)數字的初始化
int number[3] = {1, 2, 3}; #註意,用於初始化的值用花括號包起來
這裏,也可以省略聲明部分中數組元素的個數,即: int number[] = {1, 2, 3};
此時,編譯器會根據初始化的元素個數自動確定數組的大小
我們也可以先進行定義,然後在函數中再進行初始化,例如你想通過用戶輸入數據,然後存儲到數組當中,就可以采取這種方法。
(2)字符(character)及字符串(character string)的初始化
char code[] = {‘a‘, ‘b‘, ‘c‘}; #字符的數據類型為char,所以此處類型名就為char,當然,寫int也是可以的,因為int數據類型所占用的存儲空間要比char大,分配給int類型數據的空間大小自然夠裝得下char類型數據,元素個數同上所述,可寫可不寫,寫的話得同初始化元素個數相同,否則編譯會報錯,字符的話需要用’ ‘包起來,像這些字母,和一些符號都是需要這樣處理的
除此,還可以使用字符串直接進行初始化,例如:
char code[] = "abc"; #但是要註意的是,用雙引號括起來的字符串常量,在字符串末尾還隱含了作為字符串結束的標誌--‘\0‘,在內存中,這個符號也是一個char數據類型,需要一個字符的存儲空間
其實等價於char code[] = {‘a‘, ‘b‘, ‘c‘, ‘\0‘};
另外,還有一種初始化方法,那就是先定義,然後在函數當中進行初始化賦值,這點上文也有略微提及。
這次的筆記我們就做到這裏吧,鑒於筆者的水平有限,也正在學習當中,文中有什麽遺漏或者錯誤的地方敬請提示,筆者會進行改進,由衷感謝!
c語言構造類型之數組_01