Тип данных запись, отличие от массива

Запись - это структура данных, состоящая из фиксированною числа разнотипныхкомпонент, называемых полямизаписи. Записи используются для представления разнородной, но логически связанной информации. Каждое поле записи имеет имя, которое дается ему при объявлении записи.

Главное отличие записи от массива заключается в следующем: массив хранит однотипную информацию, а каждый элемент записи содержит данные разного типа.

Описание записи

В Borland Pascal определены записи двух типов: записи с фиксированными полями и вариантные записи.

Как любой тип данных языка, записи можно определить двумя способами:

§ при объявлении переменных, например:

Var Zapl, Zap2: record {две записи, состоящие из 5 нолей}

F,S;real; {два поля вещественного типа}

А,В:integer; {два поля целого типа}

C:char; {поле символьного типа}

end;

Zap3: record {запись, состоящая из 3 полей}

S: string[80]; {символьная строка длиной 80 байт}

A: array [1..20] of real; {одномерный массив на 20вещественных чисел}

Flag: boolean; {поле логического типа}

end;...

§ предварительно объявив тип записи, например:

Туре Zt1 = record {тип «запись, состоящая из 5 полей»)

F,S: real; {два поля вещественного типа}

A,B: integer; {два поля целого типа}

C: char; {поле символьного типа}

end;

Zt2 = record {тип «запись, состоящая из 3 полей»}

S: siring [80]; {символьная строка длиной 80 байт}

A: array [1..20] of real; {одномерный массив на 20 вещественных чисел}

Flag: Boolean; {поле логического типа}

end;

Var Zap1, Zap2:Zt1; {две переменных типа Zt1}

Zap3:Zt2; ... {переменная типа Zt2 }

В качестве полей записи можно использовать другие записи, как определенные ранее, так и определяемые внутри записи, например:

Type Human: record {запись о сотруднике}

Fio: record {поле типа «запись из 3 полей»}

Fam, {фамилия}

Name, {имя}

Otch: string; {и отчество сотрудника»}

end; {Fio}

BirthDay: record {поле типа «запись из 3 полей»}

Day: l..31; {день}

Month: 1..12; {месяц}

Year: word; {год рождения}

end; {Birthday}

end; ...{Human}

или

type

Data = record

Day: l..31; {день}

Month: 1..12; {месяц}

Year: word; {год рождения}

end; {Birthday}

Famio = record

Fam. Name, Otch: string;

end;

Human = record {тип «запись о сотруднике»}

Fio: Famio; {поле типа Famio}

BirthDay: Data; {поле типа Data }

end;...

Можно объявить как отдельные переменные программы, так и массивы записей, например:

Var Sotr: Human;

Otdel: array [1..20] of Human;

Присвоить начальное значение конкретной записи можно, используя типизированные константы. Начальное значение полей записи при этом указывается в скобках через точку с запятой, причем для каждою поля указывается имя и значение через двоеточие, например:

Const

BirthDay: Data = (Year:1973; Momh:6; Day:30); ...








Дата добавления: 2015-12-01; просмотров: 2589;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.