Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

СТРУКТУРЫ/ЗАПИСИ

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

В отличие от массива, все элементы которого однотипны, структура может содержать элементы разных типов. В языке С++ структура является видом класса и обладает всеми его свойствами, но во многих случаях достаточно использовать структуры так, как они определены в языке С. Ключевое слово struct сообщает компилятору об объявлении структуры:

struct [<имя>] { <тип_a> <элемент_a>; <тип_b> <элемент_b>;... <тип_x> <элемент_x>; } [<список_переменных> ];

Элементы структуры называются полями/членами структуры и могут иметь любой тип, кроме типа этой же структуры, но могут быть указателями на него.

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

struct Worker // описание нового типа Worker

{

char fio[30];

int date, code;

float salary;

}; // описание заканчивается точкой с запятой

 

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

 

Worker one_worker; // определение одной переменной типа Worker Worker stuff[100]; // определение массива типа Worker Worker *ps; // определение указателя на тип Worker

Для инициализации структуры значения ее элементов перечисляют в фигурных скобках в порядке их описания, например:

struct Worker { char fio[30]; int date, code; float salary;};Worker worker1 = {"Страусенко", 31, 215, 3400.55};

Доступ к полям структуры выполняется с помощью операций выбора . (точка) при обращении к полю через имя структуры и -> (стрелка) при обращении через указатель, например:

Worker worker, stuff[100], *ps;//...worker.fio = "Страусенко";stuff[8].code = 215;ps->salary = 0.12;

 

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

 

Пример. Следующая программа демонстрирует присваивание структур:

#include <iostream.h>

 

struct int_2

{

int a;

int b;

};

 

int main()

{

int_2 x, y;

x.a = 10;

x.b = 20;

у = x; // присвоение одной структуры другой

cout << "Contents of у: " << y.a << “ ” << y.b);

return 0;

}




Дата добавления: 2014-12-19; просмотров: 89 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав