1,void function(char **str);和void function(char str[8][512]);
这两种函数参数的不同形式,在C语言中可能没有区别,而在C++中却可能产生段错误。
当函数参数为char**时,调用函数前,str可以这样声明;
char *str[8] = {
“str”,“str”,“str”,“str”,“str”,“str”,“str”,“str”
};然后调用;
当函数参数为char str[8][512]时,调用函数前,str可以这样声明;
char str[8][512];
memset(str, 0, sizeof(str));
strcpy(str[0], "str");
strcpy(str[0], "str");
strcpy(str[0], "str");
strcpy(str[0], "str");
strcpy(str[0], "str");
strcpy(str[0], "str");
strcpy(str[0], "str");
strcpy(str[0], "str");然后调用;