Структури
1) Визначення і опис структур
2) Визначення синоніму типу структури
3) Вкладені структури
4) Операції над структурами
5) Ініціалізація структур
6) Розробка програм з використанням структур
7) Питання для самоперевірки
Визначення і опис структур
Cтруктура - це складний тип даних, в який входять елементи будь-яких типів, за винятком функцій. Елементи структури називаються полями. Кожне поле характеризується іменем і типом.
Формат опису структури:
struct <ім¢я структури>
{
<тип поля 1> <ім¢я поля 1>;
<тип поля 2> <ім¢я поля 2>;
. . .
<тип поля n> <ім¢я поля n>;
};
<ім¢я структури> - це тег (позначення) структури, може розглядатись як новий тип даних, визначений користувачем. Щоб використовувати структуру в програмі, необхідно визначити змінну цього типу. Наприклад:
struct STUDENT
{ char fio[20];
int God_rogd;
char pol;
char grupa[15];
};
STUDENT stud1,stud2;
Змінні можна описати разом з описом структури. Наприклад:
struct STUDENT
{ char fio[20];
int God_rogd;
char pol;
char grupa[15];
}stud1,stud2;
Для доступу до елементів полів використовується складне ім¢я, що складається з імені змінної типу структури і імені поля, розділених крапкою. Наприклад, stud1.fio, stud2.God_rogd. В цьому випадку ім¢я структури (STUDENT) вказувати не обов¢язково, тобто допускається опис
struct
{ char fio[20];
int God_rogd;
char pol;
char grupa[15];
}stud1,stud2;
Структура може бути описана в поточному блоці або за його межами. В першому випадку структура буде локальною для поточного блоку і другому - глобальною для всіх блоків, розміщених після опису.
Визначення синоніму типу структури
Для визначення свого типу можна використати оператор typedef.
typedef struct STUDENT
{ char fio[20];
int God_rogd;
char pol;
char grupa[15];
}ТSTUDENT;
В приведеному описі ТSTUDENT є новим типом даних, а STUDENT залишається ім¢ям структури, яке можна опустити:
typedef struct
{ char fio[20];
int God_rogd;
char pol;
char grupa[15];
}ТSTUDENT;
Опис змінних: ТSTUDENT stud1,stud2;
Вкладені структури
Можна використовувати вкладені структури, описуючи їх до опису головної структури або в її описі. Наприклад, дату народження опишемо як структуру, що складається з трьох цілих значень: число, місяць, рік.
Перший випадок; попередній опис:
Struct data
{ int d,m,g;};
struct STUDENT
{ char fio[20];
data Data_rogd;
char pol;
char grupa[15];
}stud1,stud2;
Другий випадок: опис в структурі:
struct STUDENT
{ char fio[20];
Struct {int d,m,g;} Data_rogd;
char pol;
char grupa[15];
}stud1,stud2;
І в першому і в другому випадку для доступу до елементів вкладеної структури використовуються операції доступу до елементів структури, тобто складні імена, що складаються з імені структурної змінної, імені структурного поля і імені поля вкладеної структури, розділених крапкою: stud1.Data_rogd.d, stud1.Data_rogd.d.
Операції над структурами
Допустимими операціями для структур є:
– операція присвоєння для однотипних структур. Наприклад, stud1=stud2;
– операція адреси (&) структури;
– операція sizeof для визначення розміру структури;
– операція доступу до елементів структури.
Ініціалізація структур
Структури можуть бути ініціалізовані таким же чином, як і масиви. Наприклад:
ТSTUDENT stud1= {“Іванов І.І”,1987, ‘м’,”ПМ 04 1/9” };
ТSTUDENT stud2= {“Петрова А.А.” }; Не заданим значенням присвоюється нульове значення.
Дата добавления: 2015-08-26; просмотров: 604;