![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
struct | тип структуры | ||
{ | |||
тип | имя элемента | 1; | |
тип | имя элемента | 2; | |
тип | п | имя элемента | п; |
}; |
После закрывающей фигурной скобки «}» в объявлении структуры обязательно ставится точка с запятой.
Пример объявления структуры
St | ruct | date |
{ | ||
int | day; | |
int | month; | |
int | year; | |
}; |
Элементы структуры располагаются в памяти ЭВМ в том же порядке, в котором они объявляются.
При объявлении структур, их разрешается вкладывать одну в другую.
Пример
St { | ruct persone | ||
char | fam[20] | r | |
char | im[2 0]; | ||
char | ot[20]; | ||
struct date | bd; | ||
}; |
Здесь одним из элементов структуры persone является структура типа date с именем структурной переменной bd (birthday).
Инициализация структуры может осуществляться двумя способами:
• присвоение значений элементам структуры в процессе объявления переменной, относящейся к типу структуры;
• присвоение начальных значений элементам структуры с использованием функций print/n scan/.
В первом случае инициализация осуществляется по следующей форме:
struct тип структуры имя переменной= {значение элемента 1, значение элемента 2,
значение элемента п};.
Второй случай не отличается от способа инициализации объектов языка Си уже известных типов.
Для обращения к элементу структуры нужно указать не только имя самого элемента, но и имя переменной. Они разделяются точкой:
имя_переменной.имя_элемента.
Имя структурной переменной может быть указано при объявлении структуры. В этом случае оно размещается после закрывающейся фигурной скобки.
Пример
struct complex_type
{
double real;
doubl imag; } number;
В этом примере элементами структуры будут переменные number.real и number imag.
Пример 1. Объявление и инициализация структуры
/* | Объявление структуры | comput | er, */ | |||
/* | состоящей из | двух элементов | : model и memor | y.*/ | ||
St { | ruct computer | |||||
char model[30]; | ||||||
}; | int memory; | |||||
/* | Объявление и | инициализация | переменной*/ | |||
/* | Elecom типа computer. | */ | ||||
St | ruct computer | Elecom = | = {"IBM | PC | Pentium 4", | 1024}; |
Пример 2. Объявление и инициализация структуры
#include <stdio.h> | |
main () { /^Объявление структуры типа data. | |
*/ | |
struct data { int day; | |
char month[10]; |
int year; }; | |
/^Объявление структуры типа person;*/ | |
/*одним из элементов структуры person*/ | |
/^является структурная переменная bo! типа | data.*/ |
struct person { char fam[20]; | |
char im[20]; | |
char ot[20]; | |
struct data bd; }; | |
/^Объявление структурной переменной indl* | / |
/*типа person.*/ | |
struct person indl; | |
printf ("\n Укажите через Enter фамилию, | имя, |
отчество,"); | |
printf ("\n День, месяц и год рождения гражданина | |
indl\n"); | |
/* Ввод сведений о гражданине indl. */ | |
scant ("%s%s%s%d%s%d", indl.fam, indl.im, | indl.ot, |
&indl.bd.day, &indl.bd.month. &indl.bd.ye | ar); |
/* Вывод сведений о гражданине indl. */ | |
printf ("\n\n Сведения о гражданине indl: | \n\n"); |
printf ("Фамилия, имя, отчество: \t%s %s | %s\t \n", |
indl.fam, indl.bd.month, indl.be } | .year); |
Дата публикования: 2014-11-04; Прочитано: 266 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!