方法一:形参给出第二维的长度。
例如:
#include<stdio.h>
#include<math.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
voidfunc(intn,charstr[][5]){
inti;
for(i=0;i<n;i++)
printf("\nstr[%d]=%s\n",i,str[i]);
}
intmain()
{
char*p[3];
charstr[][5]={"abc","def","ghi"};
func(3,str);
return0;
}
方法二:形参声明为指向数组的指针。
例如:
#include<stdio.h>
#include<math.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
voidfunc(intn,char(*str)[5]){
inti;
for(i=0;i<n;i++)
printf("\nstr[%d]=%s\n",i,str[i]);
}
intmain()
{
char*p[3];
charstr[][5]={"abc","def","ghi"};
func(3,str);
return0;
}
方法三:形参声明为指针的指针。
例如:
#include<stdio.h>
#include<math.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
voidfunc(intn,char**str){
inti;
for(i=0;i<n;i++)
printf("\nstr[%d]=%s\n",i,str[i]);
}
intmain()
{
char*p[3];
charstr[][5]={"abc","def","ghi"};
p[0]=&str[0][0];
p[1]=str[1];
p[2]=str[2];
func(3,p);
return0;
}
如果觉得《C语言函数二维数组传递方法》对你有帮助,请点赞、收藏,并留下你的观点哦!