#include <stdio.h>
int main()
{
int arr[4][4] ={0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15};
int i;
for(i=0;i<4;i++)
{
printf("使用arr+i求得二维数组arr第%d行的起始地址为:%d\n",i+1,arr+i);
}
printf("\n");
for(i=0;i<4;i++)
{
printf("使用arr[i]求得二维数组arr第%d行的起始地址为:%d\n",i+1,arr[i]);
}
printf("\n");
for(i=0;i<4;i++)
{
printf("使用*(arr+i)求得二维数组arr第%d行的起始地址为:%d\n",i+1,*(arr+i));
}
printf("\n");
for(i=0;i<4;i++)
{
printf("使用&arr[i]求得二维数组arr第%d行的起始地址为:%d\n",i+1,&arr[i]);
}
printf("\n");
return 0;
}#include <stdio.h>
int main()
{
int arr[4][4] ={0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15};
int (*p1)[4]; //数组指针
int *p2[4]; //指针数组
int i,j,k;
p1 = arr;
printf("使用数组指针的方式访问二维数组arr\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("arr[%d][%d]=%d\t",i,j,*((*p1+i)+j));
}
printf("\n");
}
printf("使用指针数组的方式访问二维数组arr\n");
for(k=0;k<4;k++)
p2[k] = arr[k];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("arr[%d][%d]=%d\t",i,j,*(p2[i]+j));
}
printf("\n");
}
return 0;
} 原文地址:http://blog.csdn.net/huolang_vip/article/details/44198785