用指標表示二維陣列的4種方式

2021-10-13 01:54:06 字數 1548 閱讀 1653

劇情回顧:12/25 周五,華老師說如果能自己寫出來4種方式,就因該掌握了,指標在陣列方面的應用。於是有了,這篇文章,文章的內容會同步到《指標(心路歷程)》這篇部落格中。

1. 列指標

2. 行指標

3. 指標陣列

4. 二級指標

強調一點

指標 在引用的時候,應該避免出現歧義。

例如 int a[3][4];

int ** p=a; //這種就是錯誤的,雖然都是二級指標,但是,指向的型別其實是不一樣的。a指向的是陣列中的1行,而p是指向某個指向整形元素的指標。兩者並不相同。

//如何用指標的表示二維陣列 

#include

intmain()

;int i,j;

//①一級指標,列指標

int*p1=

&a[0][

0];printf

(" 列指標\n");

for(i=

0;i<

3;i++

)for

(j=0

;j<

4;j++

)//②二級指標,行指標。

int(

*p2)[4

]=a;

printf

(" 行指標\n");

for(i=

0;i<

3;i++

)for

(j=0

;j<

4;j++

)//③ 指標陣列

int* p3[3]

; p3[0]

=*a;

printf

(" 指標陣列\n");

for(i=

0;i<

3;i++

)for

(j=0

;j<

4;j++

)//④二級指標

int*

*p4,

*b; p4=

&b;//這個地方一定要初始化,避免野指標,後果看下面的圖。

*p4=

*a;//printf("%d\n",a[1][3]);

printf

(" 二級指標\n");

初始化後

最近看到tzoj上的一句話感覺挺深刻的。

二維陣列的指標表示

1.型別說明 int b 定義乙個int型指標變數 int p 3 定義乙個int型指標陣列的變數 int 3 或 int d 3 定義乙個陣列指標變數 2.初始化賦值 假設二維陣列為 int a 3 3 1 用指標b表示二維陣列時為 int b a 0 將指標b指向a的首元素位址 二維陣列的表示方...

二維陣列指標表示,C語言指標引用二維陣列詳解

指標變數可以指向一維陣列中的元素,當然也就可以指向二維陣列中的元素。但是在概念和使用方法上,二維陣列的指標比一維陣列的指標要複雜一些。要理解指標和二維陣列的關係首先要記住一句話 二維陣列就是一維陣列,這句話該怎麼理解呢?假如有乙個二維陣列 int a 3 4 其中,a 是二維陣列名。a 陣列包含 3...

用指標輸出二維陣列

include stdafx.h include using namespace std int tmain int argc,tchar argv int p 指標p是指向整型資料的指標變數 for p a 0 pcout endl int pp 4 指標pp是指向由4個元素組成的一位陣列的指標變...