二維陣列名 二維陣列名取位址 二級指標

2021-08-20 22:56:07 字數 442 閱讀 3717

先給出結論,便於以後查閱:

首先給出幾個定義:

typedef int (*p1x4)[4];//定義資料型別,p1x4這種型別為指向含4個int元素的1維陣列的指標

typedef int (*p3x4)[3][4];//定義資料型別,p3x4這種型別為指向含3x4個int元素的2維陣列的指標

下面從一維陣列說起:(定義:int a[4])

再看二維陣列b[3][4],這個二維陣列也可以可以看成乙個含3個成員的一維陣列,每乙個成員含有4個int元素,依次,仿照一維陣列的結論,有:

更進一步:

總結:① 陣列名,是指向它的第乙個一級成員的指標

② 陣列名取位址,是指向整個陣列的指標

ps:所謂一級成員,舉個例子,int a[5],那麼陣列a的一級成員就是int型變數;int b[10][5],陣列b的一級成員是int [5]的一維陣列

二維陣列和二維陣列名

對於一位陣列我們認識到其資料元素在記憶體中是按線性順序依次排列的,且一維陣列名的值是乙個指標常量。那麼二維陣列在記憶體中又是怎麼儲存的,其陣列名又有什麼含義呢?定義乙個二維陣列 int arr 3 4 我們可以將乙個二維陣列看做是乙個其中元素為陣列的乙個一位陣列,也就是說二維陣列第一維的元素實際上是...

C C 二維陣列名和二級指標

1.1 乙個指標包含兩方面 a 位址值 b 所指向的資料型別。1.2 解引用操作符 dereference operator 會根據指標當前的位址值,以及所指向的資料型別,訪問一塊連續的記憶體空間 大小由指標所指向的資料型別決定 將這塊空間的內容轉換成相應的資料型別,並返回左值。有時候,兩個指標的值...

二維陣列名的本質

本人是乙個c語言小白,二維陣列名到底是啥?一直困擾著我,不過現在我想通了。現在把我的心得分享給大家 定義乙個2行3列的二維陣列 int a 2 3 二維陣列名a不用說肯定是乙個指標,我們知道一維陣列名是乙個指向首元素的指標,我們是通過指標步長來判斷的 即 指標進行 1所跳過的位元組數 那麼二維陣列名...