二维数组与行指针

来源:互联网 发布:手机一碰就响的软件 编辑:程序博客网 时间:2024/06/11 10:26

作者:华清远见讲师

int a[3][4];

a[0][0] a[0][1] a[0][2] a[0][3]

a[1][0] a[1][1] a[1][2] a[1][3]

a[2][0] a[2][1] a[2][2] a[2][3]

对于二维数组的理解,可以这样认为:

(1) a是数组名,包含三个元素

a[0] a[1] a[2]

可以得出结论:

(2) 每个元素a[i]又是一个一维数组,包含四个元素

如a[0]中包含a[0][0] a[0][1] a[0][2] a[0][3]四个元素

可以得出结论:(第0行视为一维数组)

两个重要概念:行指针和列指针。

行指针:指的是一整行,不指向具体元素。

列指针:指的是一行中某个具体元素。

可以将列指针理解为行指针的具体元素,行指针理解为列指针的地址。

那么两个概念之间的具体转换是:

*行指针----列指针

&列指针----行指针

根据以上转换公式:

对于元素a[1][2],其地址用列指针表示为a[1]+2,等价表示为*(a+1)+2,那么内容是*(*(a+1)+2);

0 0
原创粉丝点击