- •Записи (структуры)
- •Описание структуры
- •1. Описание шаблона структуры
- •2. Описание структурной переменной Синтаксис описания шаблона структуры:
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Синтаксис описания структурной переменной:
- •Совмещение описания шаблона структуры и структурной переменной Синтаксис описания:
- •Совмещение описания шаблона, описания структурных переменных и инициализации полей в одном предложении
- •Использование описания пользовательского (собственного) типа данных для описания структуры
- •1. Описание пользовательского типа
- •2. Описание переменных Синтаксис описания:
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •/* Вложенные структуры. Описание. Обращение к полям */
- •1. Описание вкладываемой структуры
- •2. Описание вложенной структуры и структурных переменных
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Массивы структурных переменных
- •Int year; // Год рождения
- •/* Примеры программ работы со структурами */
- •/* Описание шаблона структуры */
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •/*Пример 2. Совмещение описания шаблона структуры и структурной переменной*/
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •/*Пример 3. Совмещение описания структуры, структурных переменных и инициализации в одном предложении */
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •Int Age; // Возраст - целое
- •Int oc[4]; // Оценки - целочис. Массив
- •1987 Года рождения,
- •Int year; // год рожд.
Использование описания пользовательского (собственного) типа данных для описания структуры
1. Описание пользовательского типа
2. Описание переменных Синтаксис описания:
typedef <описание типа> <имя_типа>;
<имя_типа> <имя_переменной или список имен переменных>;
Пример:
typedef struct Student
{ char *fio; // Фамилия - указатель на char
char Adress[40]; // Адрес - строка
Int Age; // Возраст - целое
Int oc[4]; // Оценки - целочис. Массив
float sr; // Средний балл - вещественное
} My_Student; // Имя собственного типа
My_Student S, S1, S2={ "Рыбкин",
"Река Сож",
1988,
{5,4,5,4},
0
};
Доступ к отдельным полям структурной переменной.
• - операция выбора или ссылки на поле (обычная точка)
<имя_структурной_переменной>•<имя_поля> - составное имя
Примеры:
S.fio, S.Adress, S.Age, S.oc[0], S.oc[i]
/* Вложенные структуры. Описание. Обращение к полям */
1. Описание вкладываемой структуры
2. Описание вложенной структуры и структурных переменных
Пример:
struct fios // Описание вкладываемой структуры
{ char *f,*im,*ot; };
typedef struct Student // Описание собственного типа MY_Student
{ struct fios fio; // Фамилия - структура
char Adress[40]; // Адрес - строка
Int Age; // Возраст - целое
Int oc[4]; // Оценки - целочис. Массив
float sr; // Средняя успеваемость - вещественное
} MY_Student;
MY_Student S,S1, S2={
{"Рыбкин", "Сом", "Язевич"},
"Река Сож",
1988,
{5,4,5,4},
0
};
Примеры обращения к полям:
S.fio.f, S.fio.im, S.fio.ot, S.fio, S.Adress, S.Age, S.oc[2], S.oc[i]
/* Структурные переменные и указатели */
Синтаксис описания указателя:
<тип>*<имя_переменной>;
-> - операция доступа к полям структурной переменной через указатель(минус больше)
Пример:
typedef struct Student
{ char fio[30]; // Фамилия - строка
char Adress[40]; // Адрес - строка
Int Age; // Возраст - целое
Int oc[4]; // Оценки - целочис. Массив
float sr; // Средняя успеваемость - вещественное
} MY_Student;
MY_Student *S3, // Указатель на структуру
S4; // Структурная переменная
Примеры обращения к полям:
S3->Age, S3->oc[0], S3->oc[i], S3->fio, S4.oc[3]