double arrow

Алгоритм и программа создания файла записей (структур).

Очень часто бывает необходимо объединить в одной переменной хранить несколько значений. Например, 2 координаты: х и у. Вот тогда можно использовать структуры данных, или просто структуры.

 Создавать и работать с структурами очень просто. Для объявления структуры надо написать struct name

 { type varname;

 type2 var2name}

 Например,

 struct point

 {

 float x;

 float y;

 int color;

 string name;

 };

Теперь, после того, как мы объявили структуру, пора создать ее экземпляр:

 point points[1000]; // мы создали массив из 1000 элементов

Обращение к элементу структуры осуществляется через точку:

points[10].x=0,5;

points[10].y=1;

cout<<points[1].name;

И так далее.

Если вы создаете структуры динамически, то обращение к элементу осуществляется через ->:

point *p;

p=new point;

p->x=1;

p->y=2;

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

Как правило, члены структуры связаны друг с другом. Например, элемент списка рассылки, состоящий из имении адреса, логично представить в виде структуры. В объявлении структуры используется ключевое слово struct. Оно сообщает компьютеру, что объявляется (декларируется) структура.

struct addr

{

char name[30];

char street[40];

char city[20];

char state[3];

unsigned long int zip;

};

Обратите внимание на то, что объявление завершается точкой с запятой. Это потому, что объявление структуры является оператором. Кроме того, тег структуры addr идентифицирует эту конкретную структуру данных и является спецификатором ее типа.

 

В данном случае на самом деле никакая переменная не создается. Всего лишь определяется вид данных. Когда Вы объявляете структуру, то определяете агрегатный тип, а не переменную. И пока Вы не объявите переменную этого типа, то существовать она не будет. Чтобы объявить переменную типа addr, то есть физический объект, необходимо написать следующее:

struct addr addr_info;

В этом операторе объявлена переменная типа addr, которая называется addr_info. Таким образом, addr описывает вид структуры (ее тип), а addr_info является экземпляром (объектом) этой структуры. Когда объявляется переменная-структура, компилятор автоматически выделяет количество памяти, достаточное для того, чтобы разместитьвсе ее члены. На рисунке показано, как addr_info размещена в памяти. В данном случае предполагается, что целые переменные типа long занимают по 4 байта.

Одновременно с объявлением структуры можно объявить одну или несколько переменных. Например,

struct addr {

char name[30];

char street[40];

char city[20];

char state[3];

unsigned long int zip;

} addr_info, binfo, cinfo;

определяет тип структуры, называемый addr, и объявляетпеременный этого типа addr_info, binfo, cinfo. Важно понимать, что каждая переменная-структура содержит собственные копиичленов структуры. Например, поле zip в binfo отличается от поля zip в cinfo. Изменения zip в binfo не повлияют на содержимое поля zip в cinfo.

Если нужна только одна переменная-структура, то тег структуры является лишним. В этом случае наш пример объявления можно переписать следующим образом:

struct {

char name[30];

char street[40];

char city[20];

char state[3];

unsigned long int zip;

} addr_info;

В этом случае объявляется одна переменная с именем addr_info, причем ее поля указаны в структуре, которая предшествует этому имени.

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

struct тег {

тип имя-члена;

тип имя-члена;

тип имя-члена;

тип имя-члена;

тип имя-члена;

...

} переменный-структуры

Причем, тег или переменные-структуры могут быть пропущены, но только не оба одновременно.

Алгоритм и программа чтения и вывода на экран файла записей (структур) из файла

В методе

25-26.*Алгоритм и программа удаления k-ой записи (структуры) из файла.

в методе

Алгоритм и программа дополнения файла записей (структур).

не нашла


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: