下面例子,作为 指针传递 和 行指针传递。
#include <stdio.h>
void fun(int *p1,int (*p2)[3], int row, int col){
int i,j;
for (i=0;i<3;i++){
for (j=0;j<4;j++) {
printf("%d ",p1[i*col+j]);
p2[j][i]=p1[i*col+j];
};
printf("\n");
};
}
int main(){
int a[3][4],b[4][3];
int i,j;
for (i=0;i<3;i++)for (j=0;j<4;j++) a[i][j]=(i+1)*10+j;
fun(&a[0][0],&b[0], 3,4);
printf("\n");
for (i=0;i<4;i++){
for (j=0;j<3;j++) printf("%d ",b[i][j]);
printf("\n");}
return 0;
}
或这样:
void fun(int p1[3][4],int p2[4][3]){
int i,j;
for (i=0;i<3;i++){
for (j=0;j<4;j++) {
printf("%d ",p1[i][j]);
p2[j][i]=p1[i][j];
};
printf("\n");
};
}
调用: fun(a,b); 即可。
温馨提示:答案为网友推荐,仅供参考