Элементы структуры могут иметь модификаторы доступа: public, private и protected. По умолчанию все элементы структуры объявляются как общедоступные (public). Забегая вперед, следует сказать, что все члены класса по умолчанию объявляются как защищенные (private).
Для обращения к отдельным элементам структуры используются операторы: . и ->.
Доступ к элементам структуры может иметь следующее формальное описание:
переменная_структурного_типа.элемент_структуры=значение;имя_структурного_типа *указатель_структуры= & переменная_структурного_типа;указатель_структуры->элемент_структуры=значение; Например:
struct structA { char c1; char s1[4]; float f1;} aS1, // aS1 - переменная структурного типа *prtaS1=&aS1; // prtaS1 - указатель на структуру aS1struct structB { struct structA aS2; // Вложенная структура} bS1,*prtbS1=&bS1;aS1.c1= 'Е'; // Доступ к элементу c1 структуры aS1prtaS1->c1= 'Е'; // Доступ к элементу c1 через // указатель prtaS1(*prtaS1).c1= 'Е'; // Доступ к элементу c1 (prtbS1->aS2).c1='Е'; // Доступ к элементу вложенной структуры Доступ к элементу массива структурного типа имеет следующий формальный синтаксис:
имя_массива[индекс_элемента_массива].элемент_структуры При использовании указателей на массив структур следует сначала присвоить указателю адрес первого элемента массива, а затем реализовывать доступ к элементам массива, изменяя этот указатель адреса.
Например:
struct structA { int i; char c;} sA[4], *psA;psA=&sA[0]; …cout<<psA->i; // Доступ к первому элементу массива // структур // Переход ко второму элементу массиваpsA++; // Эквивалентно записи: psA=&sA[1];cout<<psA->i;