Доступ к отдельным полям структуры осуществляется с помощью операции “.” (“точка”). При этом сначала записывается имя структурной переменной (но не типа!), а затем через “точку” — имя поля структуры. Например, ввод массива arr выполняется следующим образом: for (int i=0; i<12; i++) cin>>S1.arr[i]; а оператор gets(S1.name); вводит поле с наименованием. Оператор S1.Par=12.3; полю Par структурной переменной S1 присваивает значение 12.3.
Присваивание структур является одним из преимуществ рассматриваемого типа. Информация, содержащаяся в одной структуре, может быть присвоена другой структуре с помощью одиночного оператора присваивания. Например, оператор S2=S1; копирует все поля (строковую переменную, 12 элементов массива и вещественную переменную) переменной S1 в переменную S2.
При объявлении структуры можно инициализировать её элементы. Например tPoint P2={1.1, 2.2, 0.3};
1.3. Вложенные структуры и статические массивы в структурах
В качестве поля структуры можно использовать переменную другого ранее определённого структурного типа. В таком случае говорят о вложенных структурах. Например, сначала определим структуру для координат одной точки плоскости:
struct tpoint2 { float x; float y; };
В другой структуре определим координаты центра и радиус окружности:
struct tcircle { tpoint2 senter; float rad;
} MyCircle;
Тогда для ввода координат центра окружности надо выполнить следующий оператор:
cin >> MyCircle.senter.x>> MyCircle.senter.y;
То есть доступ к полям вложенной структуры осуществляется с помощью нескольких операций “точка”.
Полем структуры может быть одномерный или двумерный массивы фиксированной размерности. Пример объявления и доступ к такому полю показан в структуре tstr1(см. 1.1).