c语言_指针引用数组元素并打印输出
#include
void main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int (*p)[4];
int row,col;
p=a; /*指针p指向元素为4的数组*/
/*打印输出数组指针p指向的数组的值*/
for(row=0;row<3;row++)
{
for(col=0;col<4;col++)
printf("a[%d,%d]=%-4d",row,col, *(*(p+row)+col));
printf("\n");
}
/*通过改变指针p修改数组a的行地址,改变col的值修改数组a的列地址*/
for(p=a,row=0;p
{
for(col=0;col<4;col++)
printf("(*p[%d])[%d]=%p",row,col,((*p)+col));
printf("\n");
}
}
a[0,0]=1 a[0,1]=2 a[0,2]=3 a[0,3]=4 a[1,0]=5 a[1,1]=6 a[1,2]=7 a[1,3]=8 a[2,0]=9 a[2,1]=10 a[2,2]=11 a[2,3]=12 (*p[0])[0]=0x7fffa2e0d7c0(*p[0])[1]=0x7fffa2e0d7c4(*p[0])[2]=0x7fffa2e0d7c8(*p[0])[3]=0x7fffa2e0d7cc (*p[1])[0]=0x7fffa2e0d7d0(*p[1])[1]=0x7fffa2e0d7d4(*p[1])[2]=0x7fffa2e0d7d8(*p[1])[3]=0x7fffa2e0d7dc (*p[2])[0]=0x7fffa2e0d7e0(*p[2])[1]=0x7fffa2e0d7e4(*p[2])[2]=0x7fffa2e0d7e8(*p[2])[3]=0x7fffa2e0d7ec