Назад | Оглавление | Далее |
Синтаксис:
<выражение>.<идентификатор>
<выражение>-><идентификатор>
Выражение выбора элемента позволяет получить доступ к элементу структуры или объединения. Выражение имеет значение и тип выбранного элемента.
В первой синтаксической форме <выражение> представляет значение типа struct или union, а идентификатор именует элемент специфицированной структуры или объединения. Во второй синтаксической форме <выражение> представляет указатель на структуру или объединение, а идентификатор именует элемент специфицированной структуры.
Обе синтаксические формы выражения выбора элемента дают одинаковый результат. Запись
<выражение>-><идентификатор>
для случая, когда <выражение> имеет тип указатель, эквивалентна записи
(*<выражение>).<идентификатор>
однако более наглядна.
Примеры:
struct pair
{
int a;
int b;
struct pair *sp;
} item, list[10];
item.sp=&item; /*пример 1*/
(item.sp)->a=24; /*пример 2*/
list[8].b=12; /*пример 3*/
В первом примере адрес структуры item присваивается элементу sp этой же структуры. В результате структура item содержит указатель на себя.
Во втором примере используется адресное выражение item.sp с операцией выбора элемента ->, присваивающее значение элементу a. Учитывая результат примера 1, пример 2 эквивалентен записи
item.a=24;
В третьем примере показано, каким образом в массиве структур осуществить доступ к элементу отдельной структуры.
Назад | Оглавление | Далее |