1. 程式人生 > >c語言構造類型之數組_01

c語言構造類型之數組_01

字母 水平 需要 部分 示例 例如 one 分號 註意

構造類型--constructed type。至於定義,筆者就省略了,有興趣的同學可以百度搜索https://www.baidu.com/。今天我們要說的是c語言中最簡單的構造類型--數組(array)。

數組用於保存和處理一組具有相同類型的數據,形成一個邏輯組合並通過統一的名字進行訪問,你會發現尋找或引用數組中的元素只是方括號中的數值,也稱為索引(index)不同

數組裏的每項數據稱為數組的元素,每一個元素在內存中是相鄰依序存儲,也就是數據存放一個緊接著一個,沒有斷開。每一個元素的訪問通過相同的數組名稱並使用一個位置序號來定位,表示這是數組裏的第幾個元素。

註意啦!在c語言裏,數組元素的表示形式是數組名加一個方括號(中括號),括號裏面的是元素的位置

。除此,數組括號中的下標是從0開始的。其目的是想提高訪問單獨元素的速度,如果開始的下標為0,編譯器就不需要做更多的計算就能直接確定訪問後續元素所使用的內部偏移量,這個了解下便可。下面,讓我們來進一步了解數組。

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