Почему мы используем оператор точки (.) Вместо оператора стрелки (->) в массивах структур в качестве параметров функции? - PullRequest
3 голосов
/ 10 марта 2020

Рассмотрим array - массив переменных типа structure (структура).

Когда вы передаете массив структур в качестве параметра функции, вы получаете к нему доступ с точкой (* 1005). *) оператор: array[0].structField1

Если к нему нельзя обратиться с помощью оператора стрелки (->), поскольку мы передаем адрес первого элемента массива, например: array[0]->structField1

1 Ответ

8 голосов
/ 10 марта 2020

Оператор индекса массива [] содержит неявную разыменование указателя. Поэтому, если array имеет тип массив-структура или указатель на структуру, то array[0] имеет тип структуры, а не тип указателя.

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