我想要一个简单的函数,它接收一个字符串并在解析后返回一个字符串数组。所以,这是我的函数签名:
int parse(const char *foo, char **sep_foo, int *sep_foo_qty) {
int i;
char *token;
...
strcpy(sep_foo[i], token); /* sf here */
...
}
然后我这样称呼它:
char sep_foo[MAX_QTY][MAX_STRING_LENGTH];
char foo[MAX_STRING_LENGTH];
int sep_foo_qty, error;
...
error = parse(foo, sep_foo, &sep_foo_qyt);
...
这样我在编译期间会收到警告:
warning: passing argument 2 of 'parse' from incompatible pointer type
然后在标有 /* sf here */ 的行中执行期间出现分段错误
我的 C 代码有什么问题?
提前致谢