陣列基本知識總結

2021-08-17 18:37:42 字數 1256 閱讀 8785

我們在學習了c語言基礎知識後,應該對陣列有基本的了解與掌握,現在對陣列基本知識進行總結,如下所示:

1.一維陣列

(1)建立和初始化

建立:陣列是一類相同型別元素的集合

建立方式:type_t  arr_name [const_n]

初始化:在建立陣列的同時給陣列內容一些合理的初始值,元素個數按初始化內容決定。

例: int arr[10] =

(2)使用

下標引用操作符: [ ]

通過下標訪問方式使用

(3)儲存

陣列在記憶體中連續存放

例: &arr[0] = 0046fdb4

&arr[1] = 0046fdb8

&arr[2] = 0046fdbc

(4)指標訪問

陣列的陣列名是指標首元素的位址。

通過對陣列名+整數的運算,可以獲取到陣列中每個元素的位址。

(5)長度計算

若宣告中未給出陣列的長度,編譯器就會把陣列的長度設定為剛好能夠容納所有的初始值的長度。

2.多維陣列

若某個陣列的維數不止1個,就被稱為多維陣列。

(1)建立和初始化

例: int matrix[6][10];

int d[3][5][7]

(2)使用

通過下標訪問方式使用

(3)儲存

例: int arr[2][3]

儲存形式:

(4)指標訪問

指標指向整個陣列

例: int vector[10], * vp = vector;

(5)長度計算

編譯器初始化列表中包含的初始值個數,即可推算出其他維數。

3.總結

(1)在絕大多數表示式中,陣列名的值是指向陣列的第1個元素的指標,這個規則有兩個例外:

sizeof

返回整個陣列所占用的位元組而不是乙個指標所占用的位元組;

&單目操作符返回乙個指向陣列的指標,而不是乙個指向陣列第

1個元素的指標的指標。

(2)除優先順序不同以外,下標表示式array[value]和間接訪問表示式

*(array+(value))

是一樣的。

(3)指標和陣列並不想等。

(4)陣列名作為函式引數傳遞時,實際傳遞給函式的是乙個指向陣列第1個元素的指標。

(5)陣列也可以用初始值列表進行初始化,初始值列表就是由一對花括號包圍的一組值。

(6)多維陣列實際上是一維陣列的一種特型,就是它的每個元素本身也是乙個陣列。

陣列基本知識

陣列 一維陣列 二維陣列的初始化 1 按行連續賦值,即將所有資料寫在乙個大括號內,按照陣列元素排列順序對元素賦值。2 再為所有元素賦初值時,可以省略行下標,但是不可以省略列下標。3 按行分段賦值,可以分行給陣列元素賦值。字元陣列的初始化 1 逐個字元賦給陣列的各個元素。初始化利用大括號,每個字元用單...

陣列(一) 基本知識

基於 c primer p101 內建陣列型別和其他內建型別一樣,其實現與硬體密切相關,體現了大多數計算機硬體本身具備的能力。因此相較於標準庫型別 string 和 vector,在靈活性上稍顯不足。1.定義和初始化 陣列在編譯時維度應是已知的,即必須是乙個常量表示式。unsigned cnt 42...

基本知識總結一

一.物件導向和面向過程的區別 面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。例如五子棋,面向過程的設計思路就是...