二维字符串数组的传参时与指针互转时的问题
- 二维数组如何传参
二维字符串数组,转char**会导致的问题,以及编译报错
要想得到正确的结果,需要按如下方式去写传参:
#include <stdio.h>
#include <string.h>
//int char_arr_copy(char **dest) //这样定义传参类型将导致编译报错,在低版本的编译器下或者没有报错但是得不到正确结果
int char_arr_copy(char dest[][20])
{
strcpy(dest[0],"123");
strcpy(dest[1],"456");
strcpy(dest[2],"789");
return 3;
}
int main()
{
char result[10][20];
memset(result, 0, sizeof(result));
int num = char_arr_copy(result);
for(int i = 0; i < num; i++)
{
printf("%s\n",result[i]);
}
return 0;
}
2.二维数组变量名与char **区别