Программирование на C и C++

Онлайн справочник программиста на C и C++

Массивы и структуры в структурах

Член структуры может быть как простым, так и составным. Простой член - это обычный базовый тип данных, например целочисленный или символьный. Символьный массив, использованный в addr_info, - типичный пример. Другие составные типы данных являются одномерными или многомерными массивами различных типов данных и структур.

Рассмотрим следующую структуру:

struct x {
int а [10] [10]; /* массив целых 10 х 10 */
float b;
} у;

Для обращения к числу с индексами 3, 7 массива а структуры у следует написать:

у.а[3][7]

Когда структура является членом другой структуры, то она называется вложенной структурой.

Например, ниже структура addr вложена в emp:

struct emp {
struct addr address;
float wage;
} worker;

Здесь структура emp имеет два члена. Первый - это структура типа addr, содержащая адреса служащих. Другой - это wage, содержащий заработную плату служащих. Следующий фрагмент кода присваивает 35000$ элементу wage структуры worker и 98765 полю zip структуры address:

worker.wage = 35000.00;
worker.address.zip = 98765;

В данном примере обращение к членам каждой структуры происходит снаружи вовнутрь (слева направо).