第1个回答 2011-04-24
(*prt)[3]=a,指向数组a,a[0][0],a[0][1],a[0][2]....,a[3][2],指针确实很麻烦..
*p=a[0] ;p指向a[0][0],a[0][1],a[0][2]
验证程序如下:
#include<stdio.h>
void main()
{int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12} , (*prt)[3]=a, *p=a[0] ;
int i;
printf("%d\n",*p);
//printf("%d\n",*prt);这样写是错误的,因为prt是指向一个含3个元素的数组的
//*prt的值是a[0]数组的首地址,&a[0][0],才指向a[0][0];
printf("%d\n",**prt);
for (i=0;i<3;i++)
printf("%d ",*(*prt+i));
printf("%d\n",**(prt+3));
}
第4个回答 2011-04-24
a[0][0], a[0][1], a[0][2], a[0][3]