Справочник языка Cи


Выбор элемента


Синтаксис:

<выражение>.<идентификатор>

<выражение> -> <идентификатор>

Выражение выбора элемента позволяет получить доступ к элементу структуры или объединения. Выражение имеет значение и тип выбранного элемента.

В первой синтаксической форме <выражение> представляет значение типа struct или union, а идентификатор именует элемент специфицированной структуры или объединения. Во второй синтаксической форме <выражение> представляет указатель на структуру или объединение, а идентификатор именует элемент специфицированной структуры.

Обе синтаксические формы выражения выбора элемента дают одинаковый результат. Запись

<выражение> -> <идентификатор>

для случая, когда <выражение> имеет тип указатель, эквивалентна записи

(*<выражение>).<идентификатор>

однако более наглядна.

Примеры:

struct pair {

int a;



inl b;

struct pair *sp;

} item, list[10];

item.sp = &item;           /* пример 1 */

(item.sp)->a = 24;         /* пример 2 */

list[8].b =

12;            /* пример 3 */

В первом примере адрес структуры Нет присваивается элементу sp

этой же структуры. В результате структура item

содержит указатель на себя.

Во втором примере используется адресное выражение item.sp

с операцией выбора элемента ->,

присваивающее значение элементу а. Учитывая результат примера 1,

пример 2 эквивалентен записи

item.a = 24;

В третьем примере показано, каким образом в массиве структур осуществить доступ к элементу отдельной структуры.



Содержание раздела