Мне нужна простая функция, которая получает строку и возвращает массив строк после некоторого разбора. Итак, это моя подпись функции:
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 здесь */
Что не так в моем C-коде?
Заранее спасибо