определить переменную с помощью члена структуры - PullRequest
0 голосов
/ 05 декабря 2018

Я новичок, беру уроки.Уровень знаний = очень минимальный.

Ошибка - ожидаемый идентификатор или '(' в l списка [0] (и списка [1] и т. Д.)

void hardcode(count, &list[SIZE]) 
{
    struct family list1 = { "test", "case", 'F', '1', '1', '1', 2500, 2000 };
    list[0] = list1;
    struct family list2 = { "test2", "case2",'M', '4', '4', '2', 5000,1970 };
    list[1] = list2; 
}

Я объявилструктура в моем main() .. struct test list[SIZE], затем вызвал эту функцию, передав ей счетчик, и структуру.

1 Ответ

0 голосов
/ 05 декабря 2018

void hardcode(count, &list[SIZE]) не является допустимым объявлением в C по двум причинам:

  • Вы должны указать типы параметров, например void hardcode(int count, struct test list[SIZE]).(Обратите внимание, что вставка int для count и struct test для list.)

  • C не имеет встроенных ссылок;Вы не можете использовать & для описания типа параметра aa.Когда вы передаете массив, он автоматически преобразуется в указатель на его первый элемент, который служит ссылкой на массив.Таким образом, вы можете просто объявить функцию, как указано выше.(Хотя struct test list[SIZE] объявляет массив, когда он является параметром функции, он автоматически настраивается на тип указателя на элемент массива. Таким образом, передача аргумента массива фактически передает указатель, а получение параметра массива фактическиполучает указатель.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...