二维数组形参定义:char (*p)[3];
二维数组指针形参定义:char (*p)[][3];
例程:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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<depth; i++) {
for(int j=0; j<lenth; 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<depth; i++) {
for(int j=0; j<lenth; 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;
}