c 语言用指针表示二维数组的列 怎样表示

如题所述

定义二维指针,例如:int (*p)[3],a[3][4];p=a;
那么指针指向二维数组的列是这样:*(*(p+1)+2)/*指向第二行第三列,即:a[1][2]*/
就是说,二维指针中*p是把行指针换成列指针。**p才是指向的数值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-22
C语言是按行优先的方式存储的,如果您不是特别需要,还是把矩阵做个转置吧
第2个回答  2011-12-22
i 行 j 列 单元地址 int *p=*(p+i)+j;
第一个单元地址 int * p0=*p+j;
单元增量 就是每行的列数; int d=列数;
int *p1=p0+d;本回答被网友采纳
第3个回答  2011-12-22
a[i][j]=(*p)[j]
for(m=0;m<i;m++)
*(*p[j]+m)+j
相似回答