c语言指针数组问题
通常可用一个指针数组来指向一个二维数组。指针数组中的每个元素被赋予二维数组每一行的首地址,因此也可理解为指向一个一维数组。inta[3][3]={1,2,3,4,5,6,...
通常可用一个指针数组来指向一个二维数组。 指针数组中的每个元素被赋予二维数组每一行的首地址, 因此也可理解为指向一个一维数组。
int a[3][3]={1,2,3,4,5,6,7,8,9};
int *pa[3]={a[0],a[1],a[2]};
int *p=a[0];
main(){
int i;
for(i=0;i<3;i++)
printf("%d,%d,%d\n",a[i][2-i],*a[i],*(*(a+i)+i));
for(i=0;i<3;i++)
printf("%d,%d,%d\n",*pa[i],p[i],*(p+i));
}
最后一行输出语句中 p[i],和*(p+i)是哪里冒出来的 真是不解(明明在说明时候指针数组名就是pa) 会冒出个p
冒出来了又表示什么含义 麻烦用一些理论性知识来告诉我 谢谢啦 想明白了 我再上机看结果 展开
int a[3][3]={1,2,3,4,5,6,7,8,9};
int *pa[3]={a[0],a[1],a[2]};
int *p=a[0];
main(){
int i;
for(i=0;i<3;i++)
printf("%d,%d,%d\n",a[i][2-i],*a[i],*(*(a+i)+i));
for(i=0;i<3;i++)
printf("%d,%d,%d\n",*pa[i],p[i],*(p+i));
}
最后一行输出语句中 p[i],和*(p+i)是哪里冒出来的 真是不解(明明在说明时候指针数组名就是pa) 会冒出个p
冒出来了又表示什么含义 麻烦用一些理论性知识来告诉我 谢谢啦 想明白了 我再上机看结果 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询