關於二維陣列和二維指標的理解總結

2021-07-06 07:48:45 字數 455 閱讀 6720

二維陣列和二維指標有很多相似也有很多不同:

相同點是他們都可以通過位址去取資料,

不同點是:首先二維陣列本身儲存資料,二維指標需要指向別的資料才有用。其次陣列的指標是不可變的,指標是可變的。

例:

比如上面的二維陣列:

&a是位址,相當於  int (*p) [3][4]=&a,單位為:int [3][4],sizeof(&a)=4;

而a[0],(a[0]+1)代表組內基本資料成員位址,a[0]代表第乙個小組第乙個元素的位址,(a[0]+1)代表第乙個小組內第二個元素的位址,單位為:int,sizeof(a[0])=16;

a[1][2]則為陣列內的資料。

指標:int (*p)[4]和a有相同的「單位」。int (*p)和a[0]有相同的單位。

二維指標和二維陣列

二維指標和二維陣列有三種形式 1,type ptr 2,type ptr或者type prt 3,type prt 三種形式意思相近,也有區別。首先三種形式都能表示二維的資料結構。1,type ptr 表示乙個指向指標的指標 但是在一開始宣告的時候 type ptr ptr到底指向幾個指標是不知道的...

二維陣列 二維陣列和指標

include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...

關於二維指標陣列的理解

一 二維陣列int a 3 3 a可以分解為3個一維指標,a a 0 a 1 a 陣列名代表 著陣列首元素的位址,假設 a 0 0 1000,則a 1000,a代表a的位址1000所指的記憶體a 0 同時a 0 也是乙個陣列,因此a 0 也是位址,a a a 0 a 0 0 a 0 1000.c語言...