Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стуктуры данных.doc
Скачиваний:
4
Добавлен:
24.11.2018
Размер:
91.65 Кб
Скачать

Записи (структуры)

Запись(record) – стуктурированный(составной) тип данных, состоящий из фиксированного числа компонентов разного типа, называемых полями(Helds) записи.

Пример.

Поля записи

Запись

Fio

Adresss

Age

Oc

Sr

Типы полей

Строка

Строка

Целое

Массив целочис.

Вещ.

Структуры С и С++

В С и С++ запись - встроенный тип struct (структура)

Описание структуры

1. Описание шаблона структуры

2. Описание структурной переменной Синтаксис описания шаблона структуры:

struct <имя_ шаблона>

{

<тип1> <имя_поля1>;

<тип2> <имя_поля2>;

<типN> <имя_поляN>;

};

где <тип1>, <тип2>, … ,<типN> - любые основные типы (int, char, float, и т. д.), массив, указатель, структура, объединение.

Пример:

struct Student

{ char *fio; // Фамилия - указатель на char

char Adress[40]; // Адрес - строка

Int Age; // Возраст - целое

Int oc[4]; // Оценки - целочис. Массив

float sr; // Средний балл - вещественное

} ;

Синтаксис описания структурной переменной:

struct <имя_шаблона> <имя_переменной>;

или

struct <имя_шаблона> <список имен переменных>;

Примеры:

struct Student S;

struct Student S, S1, S2;

Определение объема памяти, выделяемой под структурную переменную:

sizeof(struct<имя_шалона>);

Пример:

sizeof(struct Student); // 56 байт

Совмещение описания шаблона структуры и структурной переменной Синтаксис описания:

struct <имя_ шаблона>

{

<тип1> <имя_поля1>;

<тип2> <имя_поля2>;

<типN> <имя_поляN>;

} <имя_переменной>; // или <список имен переменных>;

Пример:

struct Student

{ char *fio; // Фамилия - указатель на char

char Adress[40]; // Адрес - строка

int Age; // Возраст - целое

int oc[4]; // Оценки - целочис. массив

float sr; // Средний балл - вещественное

} S, S1; // Структурные переменные S, S1

Совмещение описания шаблона, описания структурных переменных и инициализации полей в одном предложении

Пример:

struct Student // Описание структуры

{ char *fio; // Фамилия - указатель на char

char Adress[40]; // Адрес - строка

int Age; // Возраст - целое

int oc[4]; // Оценки - целочис. массив

float sr; // Средний балл - вещественное

}

S, S1, S2={ "Рыбкин", // Описание переменных S,S1,S2

"Река Сож", // и инициализация полей S2

1988,

{5,4,5,4},

0

};