Структуры
Структура
— это особый тип данных, состоящий из нескольких разнотипных переменных (полей).
В общем случае объявление структуры имеет следующий вид:
struct имя_структуры
{
тип поле_1;
…
тип поле_N;
};
Как
и любой другой тип, структуру можно в дальнейшем использовать для объявления
переменных, например:
struct MyStructure
//Объявление структуры MyStructure
{
int Fieldl;
char Field2;
float Field3;
};
struct MyStructure
YourStruct, OurStruct; //Объявление переменныхYourStruct и OurStruct типа MyStructure
Допускается
инициализация полей непосредственно при объявлении переменных-структур с
помощью перечня значений в фигурных скобках, например:
struct DATE
{
int Day;
int Month;
int Year;
}
struct DATE MyBirthday = {7,
8, 1974};
Для
доступа к полям структуры в программе используют запись вида
имя_структуры.поле. То есть, в представленном выше примере структуры DATE для инициализации полей можно было воспользоваться
следующими операторами:
MyBirthday.Day = 7;
MyBirthday.Month = 8;
MyBirthday.Year = 1974;
Структуры,
в свою очередь, могут быть полями других структур, например:
struct ME
{
char MyName[30]; //Строка
длиной 30 символов - имя
struct DATE MyBirthday; //Структура, хранящая день рождения
}
struct ME MyData;
MyData.MyName = "John
Smith";
MyData.MyBirthday.Day = 7;
MyData.MyBirthday.Month = 8;
MyData.MyBirthday.Year =1974;
Структуры
могут выступать в качестве параметров функций, а также возвращаемого
результата. Ниже представлен пример функции, возвращающей структуру типа DATE:
struct DATE Januaryl(int CurYear)
{
struct DATE Jan0l;
Jan0l. Day = 1;
Jan0l.Month = 1;
Jan0l.Year = CurYear;
return JanOl;
}
…
struct DATE BeginOfTheYear;
BeginOfTheYear =
Januaryl(2006);