C++入门经典-例6.12-使用数组地址将二维数组输出
1:以a[4][3]为例
a代表二维数组的地址,通过指针运算符可以获取数组中的元素
(1)a+n代表第n行的首地址
(2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数组的首地址。&a[m][n]就是第m行n列元素的地址
(3)&a[0]是第0行的首地址,当然&a[n]就是第n行的首地址
(4)a[0]+(n-1)表示第0行第n个元素
(5)*(*(a+n)+m)表示第n行第m列
(6)*(a[n]+m)表示第n行第m列元素
2:代码如下:
// 6.12.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
void main()
{
int i,j;
int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
cout << "the array is: " << endl;
for(i=0;i<4;i++) //行
{
for(j=0;j<3;j++) //列
cout <<*(*(a+i)+j) << endl;
}
}
View Code
运行结果: