Для задания, над которым я работаю, мне необходимо использовать функции для манипулирования данными в массиве строк.Так что действительно, массив массивов символов.Я определяю массив следующим образом:
char strings[5][100];
Таким образом, в памяти предположительно находится 500 смежных символов.Функция, которую я определил, выглядит следующим образом:
void foo(char *labels[100]);
Я думаю, у меня могут быть некоторые проблемы с синтаксисом, но я думаю, что это говорит: «Я функция, которая ожидает указатель намассив из 100 символов. "Так что labels*
будет указывать на первый массив символов, а (labels + 1)*
будет указывать на второй, и так далее.Я вызываю функцию следующим образом:
foo(&strings[0]);
Я думаю, что это делает захват адреса первого массива символов в strings
.Сообщение об ошибке, которое я получаю, говорит мне, что функция ожидает char **
, но аргумент - char (*)[100]
.Это сбивает с толку меня, так как нигде я не указывал, что указатель на char
.
есть указатель на любую помощь, или если вы могли бы pointer
меня в правильном направлении :)