C語言 一維陣列與二維陣列

2021-08-18 18:52:58 字數 1457 閱讀 8565

int arr [4]  //定義了乙個一維陣列,長度為4;說明以下三個分別是什麼型別;

(1)arr //型別為int *,表示陣列元素首位址,即圖中箭頭指向的位置。

(2)arr+1 //型別為int *,表示陣列元素首位址+1,即圖中箭頭指向的位置。

(3)arr [0] //型別為int ,表示第乙個元素,即圖中紅色的格仔。

int brr [3][4]  //表示定義了乙個3行4列的二維陣列,說明以下三個分別是什麼型別;

(1)brr //型別為int(*p)[4], 把乙個二維陣列想象成乙個特殊一維陣列並遵循行優先原則,那麼也表示陣列首位址,int(*p)[4]的含義就是整型指標p指向有4個格仔的陣列 ,就是陣列指標(指向陣列的指標),即圖中箭頭指向的位置。

(2)brr+1//型別為int * p[4],同樣把二維陣列想象成一維陣列,那麼brr+1就是首位址+1,即圖中箭頭指向的位置。

(3)brr [0]//型別為int *,brr[0]==arr,即圖中紅色的格仔。

(4)brr [0]+1//型別為int *,因為指標加法不會改變指標的型別,即圖中黃色的格仔。

(5)brr [0][0]//型別為int,表示的是陣列的第乙個元素,即圖中的黑色粗框。

總結:遇到複雜型別式子

1.優先順序

2.看到以下符號

[ ] 陣列要考慮有幾個格仔;每個格仔的資料型別;

()函式要考慮引數列表,返回值;

*  指標要考慮指標指向的是什麼 

練習:(1)int(* p)[4]    ()的優先順序比 * 優先順序低,那麼表示的是指標p指向的是有4個格仔的陣列;  

(2)int  * p [4]         [ ]的優先順序比 * 優先順序高,那麼表示的是有4個格仔的陣列p,儲存的是指標。

c語言 一維陣列與二維陣列(2)

今天覆習了陣列內容。包括一維陣列,二維陣列,字元陣列,字串等內容。形式就是int a 常量 可預設 氣泡排序 設陣列個數為n,則氣泡排序要比較n 1次 在某一次比較中。將其可以比較的最後乙個數與前面所有的數進行比較。最終將陣列全部比較,形成公升序或降序排列。include int main for ...

一維陣列與二維陣列

1.一維陣列的定義格式為 型別說明符 陣列名 常量表示式 在定義陣列時,需要指定陣列中元素的個數,方括弧中的常量表示式用來表示元素的個數,即陣列長度。常量表示式中可以包括常量和符號常量,但不能包含變數。c語言不允許對陣列的大小作動態定義,即陣列的大小不依賴於程式執行過程中變數的值。在定義陣列時對陣列...

C語言 一維陣列和二維陣列

1.解析一維陣列的建立和初始化 建立 建立一維陣列時,需有陣列型別,陣列名,以及陣列的大小 可有可無,若沒有大小則在初始化時,根據初始化的內容自動分配 初始化 陣列在使用前必須明確陣列的元素已經被賦予確定的值。初始化可以有以下兩種方法 1 在陣列定義時就賦給陣列確定的值 2 先給陣列乙個宣告,然後用...