指针问题(指针数组,数组指针,二级指针)

int a[3][3]={{111},{222},{333}} int *p[3]; p=a; for(i=0;i<3;i++) { for(j=0;J<3;j++) printf("%d\t",p[i][j]); printf("\n"); } 可以将数组输出来,结果 111 222 333 现在想要改变1,2两行输出顺序, 222 111 333 用改变指针指向的方法,求大神指导!!!!!!!!!

第1个回答  2020-09-14
一级指针指向地址,二级指针指向地址的地址。
*month[]是指针数组,所以要用二级指针**p指向它。
如果单单是month[]数组,那就用一级指针*p指向它。
你这个程序里的*p代表分别输出指针数组里的值。
printf("%s\n",*p);
这条语句里的*p可以用month[i]替换。
希望能帮到你。
相似回答