二维数组和二维数组指针做函数参数

二维数组形参定义:char (*p)[3];
二维数组指针形参定义:char (*p)[][3];

例程:

#include
#include
#include

int myPrintf4(char (*p)[3],int *dep,int * len){
int lenth = *len;
int depth = *dep;
printf(“-----------------\n”);
printf(“%s\n”,func);
for(int i=0; i for(int j=0; j printf(“%d\n”,p[i][j]);
}
}
return 0;
}
int myPrintf5(char (*p)[][3],int *dep,int * len){
int lenth = *len;
int depth = *dep;
printf(“-----------------\n”);
printf(“%s\n”,func);
for(int i=0; i for(int j=0; j printf(“%d\n”,(*p)[i][j]);
}
}
return 0;
}
int main() {

char p[2][3] = {"aaa","bbb"}; //定义二维数组
int len2 = 3;
int dep2 = 2;

myPrintf4(p,&dep2,&len2);//p把二维数组首地址拷贝给形参
myPrintf5(&p,&dep2,&len2);//&p把二维数组地址拷贝给形参

return 0;

}

结果:

二维数组和二维数组指针做函数参数_第1张图片

你可能感兴趣的:(c语言)