Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Double hourlysalary; // почасовой оклад





} new_employee = { "Peter", "Smith", 25, 6.78 };

При инициализации структуры ее элементы (инициализаторы) должны соответствовать заданному типу и отделяться друг от друга запятыми.

Доступ к элементам (компонентам, полям) структуры осуществляется двумя способами:

1) с помощью оператора связывающей точки (оператора точки) «.»при непосредственной работе со структурой;

2) с помощью стрелки «–>;»при использовании указателей на структуры.

Общий формат доступа к элементам структуры имеет вид

имя_переменной_структуры. имя_поля;

имя_указателя_на_структуру –> имя_поля;

(*имя_указателя_на_структуру). имя_поля;

Например, для рассмотренной инициализации можно изменить почасовой оклад с помощью оператора точки и указателя на структуру:

new_employee.hourlysalary = 21.0;

employeePtr –> hourlysalary = 21.0;

Следует обратить внимание на то, что new_employee – это имя всего объекта-структуры, а hourlysalary – имя элемента этой структуры. Аналогично и в случае использования указателя *employeePtr на структуру.

При изменении полей структуры следует обратить внимание на случай со строками, например:

strcpy(new_employee. name, "Stephen");

При этом должен быть предусмотрен заголовочный файл <string.h>;. для функции strcpy().

Когда объявлен массив структур, например stack[120], то это означает, что создано 120 наборов переменных, каждый из которых организован так, как определено в структуре с дескриптором employee. Чтобы получить доступ к определенной структуре stack[120], следует указать имя массива с индексом, который изменяется от 0 до 119. Например, для пятой структуры можно сделать изменения в почасовом окладе:


stack[4].hourlysalary = 121.5;

Как и в других массивах переменных языка С, в массивах структур индексирование начинается с нуля. Членами структуры могут быть также массивы или структуры. Когда одна структура является членом другой, она называется вложенной [2].

Рассмотрим пример:

struct X = {

int A[7][8];

float b;

char ch;

struct employee Emp2;

} Y;

Инициализация элементов двухмерного массива А может быть такой:

Y.A[2][5] = 99;

Инициализация вложенной структуры может быть следующей:

Y.Emp2.hourlysalary = 12.75;

В соответствии со стандартом С89 структуры могут быть вложенными вплоть до 15-го уровня, стандарт С99 допускает уровень вложенности до 63-го включительно [2].

 

 







Дата добавления: 2015-09-06; просмотров: 365. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия