Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Присвоение начального значения




В том случае, если начальные значения членов структуры известны, можно присвоить их при определении переменной. Если вы создаете только одну переменную структурного типа, можно инициализировать ее как часть определения структуры:

struct CD { char name[20]; char description[40]; char category[12]; float cost; int number; } disc = {"Лучшие песни", "Тини Тим", "поп-музыка", 12.50, 12};

В этих инструкциях мы создали структуру CD, определили переменную disc и присвоили начальные значения всем пяти членам структуры (рис. 6).


Рис. 6. Инициализация структурной переменной

 

Как другой возможный вариант, можно инициализировать члены структуры при определении переменной:

struct CD disc = {"Моя жизнь", "Биография Б. Гейтса", "книга на диске", 24.99, 213};

Поскольку Си является языком свободного формата, можно записать процедуру присваивания в несколько строк, однако символы внутри кавычек при этом переносить не следует.

Структуру можно определить как глобальную, перед функцией main(), или как локальную, записав определение внутри main() или другой функции. Но! Если вы хотите присвоить начальное значение структуре, которая содержит строки, ее обязательно следует определять перед main(), или как статическую переменную:

static struct CD;

Использование структуры

Член структуры всегда является частью структуры. Нельзя обратиться к структурному элементу как к таковому. Например, если вы попытаетесь присвоить значение члену cost структуры CD, используя следующий синтаксис

cost = 23.13;

компилятор сгенерирует ошибку, вызванную тем, что переменная cost не была определена. Для переменной с таким именем не была зарезервирована никакая область памяти. Переменная, которая вас интересует, называется disc, и именно она содержит элемент с именем cost. Для того чтобы обратиться к члену структуры, необходимо указать его вместе с именем переменной, используя следующий формат:

structure_variable.member_name

Такая запись означает, что необходимо указать имя структурной переменной, поставить точку, а затем указать имя члена структуры, как это сделано в инструкциях:

gets(disc.name);gets(disc.description);gets(disc.category);disc.cost = 16.95;disc.number = 5;

Эти инструкции говорят компилятору, в какую именно область памяти следует поместить введенное значение, например, в член name структурной переменной disc.

Получение значений членов структуры осуществляется аналогичным образом, с точкой между именем структурной переменной и именем члена. В Листинге 1 приведен текст программы, в которой вводится, а затем отображается на экране информация о картотеке компакт-дисков. В тексте программы нет ни одного случая, когда бы имя члена структуры использовалось без указания имени структурной переменной.

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





Поделиться с друзьями:


Дата добавления: 2017-03-12; Мы поможем в написании ваших работ!; просмотров: 526 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если вы думаете, что на что-то способны, вы правы; если думаете, что у вас ничего не получится - вы тоже правы. © Генри Форд
==> читать все изречения...

2283 - | 2213 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.