黑马程序员技术交流社区

标题: 指针(三).2 [打印本页]

作者: 紫荆秋雪    时间: 2015-7-17 13:10
标题: 指针(三).2
总结:
           二维数组a的数组名是    a
所以:二维数组的第一行的地址也就是   a   
           二维数组的第二行的地址也就是 a+1  
           二维数组的第三行的地址也就是 a+2  

所以:二维数组第一行地址存储的内容为     *a        或是a[0]
           二维数组第一行地址存储的内容为  *(a+1)    或是a[1]
           二维数组第一行地址存储的内容为  *(a+2)    或是a[2]

而二维数组第一行地址存储内容 *a 也正好是  二维数组第一行的行地址
所以: *a+i  表示第一行第i列元素的地址
所以:*(*a+i)  表示第一行第i列的元素(值)
同理:
所以: a[0]+i  表示第一行第i列元素的地址
所以:*(a[0]+i)  表示第一行第i列的元素(值)

总结:
        访问二维数组中的每一个元素的公式为:
        *(*(a+i)+j) 表示:访问二维数组a的第i行第j列的元素
*(*(a+i)+j) 表示:访问二维数组a的第i行第j列的元素
        *(a+j) 表示:访问二维数组a的第i行第j列的元素
其中
a表示:第i行的首地址
j    表示:第j列
例子如下:
我们先用一般方式遍历二维数组;

打印如下

用二维数组名来遍历二维数组


打印如下:






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2