//指针访问一维数组
//int i[3] = {0,1,2};
//int *p = NULL;
//p = i;
//for(int k= 0;k<3;k++)
//{
// printf("%d\n",*p++);
//}
//指针访问二维数组
int i,k;
int i1[2][3] = {1,2,3,
4,5,6};
int (*p)[3] = i1; //把二维数组的首地址赋值给指针 下标不能写成int (*p)[4] 这样会照成读取错误,因为读取第二组时算法为:(3(下标)*i+k)*4(类型)验证方法可以查看其对应的内存地址
for(i =0;i<2;i++)
{
for(k =0;k<3;k++)
{
printf("%d ",p[i][k]);
}
printf("\n");
}
//指针访问三维数组
int i2[2][3][4] = {{{1,2,3,4},{5,6,7,8},{9,10,11,12}},
{{13,14,15,16},{17,18,19,20},{21,22,23,24}}};
int (*p1)[3][4] = i2;
int a,b,c;
for(a = 0;a<2;a++)
{
for(b = 0;b<3;b++)
{
for(c = 0;c<4;c++)
{
printf("%d ",p1[a][b][c]);
}
printf("\n");
}
printf("\n");
}
getchar();
getchar();
指针访问多维数组
最新推荐文章于 2023-11-20 23:48:58 发布