Структуры в C++.

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

Структуры полезны, когда надо объединить несколько переменных с разными типами под одним именем. Это делает программу более компактной и более гибкой для внесения изменений. Также структуры незаменимы, когда необходимо сгруппировать некоторые данные, например, запись из базы данных или контакт из книги адресов.

Ключевое слово struct сообщает компилятору об объявлении структуры. Объявление структуры выглядит так:

struct Car
{ 
    int x_coor; 
    int y_coor; 
    string name;
};

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

structName variableName;

structName — имя структуры, variableName — имя переменной.

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

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 структурной переменой addr_info значение 12345:

addr_info.zip = 12345;

За именем структурной переменной следует точка, а за ней имя члена, к которому происходит обращение. Ко всем членам структуры доступ осуществляется точно таким же способом. Стандартный вид доступа:

имя_структуры.имя_члена

Следовательно, для вывода поля zip на экран надо написать:

printf("%ld", addr_info.zip);

Присваивание структур

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

#include <stdio.h>
int main(void)
{
struct {
int a;
int b;
} x, y;
x.a = 10;
x.b = 20;
у = x; /* присвоение одной структуры другой */
printf ("Contents of у: %d %d.", y.a, y.b);
return 0;
}

После присваивания у.а и y.b будут содержать значения 10 и 20 соответственно.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Chinese (Traditional)EnglishJapaneseRussianUkrainian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: