选择题
下列程序的输出结果是______。
#include<iostream.h>
void main()
{int n[][3]={10,20,30,40,50,60};int(*p)[3];
p=n;cout<<p[0][0]<<','<<*(p[0]+1)<<','<<(*p)[2]<<endl;}
【正确答案】
B
【答案解析】如果数组元素都是相同类型的指针,则称这个数组为指针数组。指针数组一般用于处理二维数组。声明的格式为:<数据类型×(*变量名)×[元素个数]>。p表示指向数组n的行指针,初始化“(*p)[3]=n;”,地址的等价形式:p+i、p[i]、*(p+i)都表示数组第i+1行的第1个元素的首地址。*(p+i)+j、p[i]+j、&p[i][j]都表示数组第i+1行、第j+1列元素的地址。值的等价形式:*(*(p+i)+j)、*(p[i]+j)、p[i][j]都表示数组第i+1、第j+1列元素的值。所以本题中分别访问数组元素p[0][0],p[0][1],p[0][2]。