Структуры в 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 соответственно.

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

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

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

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Локальные и глобальные переменные в С++.

Локальные и глобальные переменные в С++.

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

 
Математические функции в С++

Математические функции в С++

В языке С++ математические функции определены в заголовочном файле <cmath> функции выполняющие некоторые часто используемые математические задачи. Например, нахождение корня, возведение в степень, sin(), cos()

 
Работа с файлами в С++.

Работа с файлами в С++.

Файл – именованный набор байтов, который может быть сохранен на некотором накопителе. Файл имеет уникальное имя, например файл.txt. Для работы с файлами в С++ необходимо

 
Перегрузка методов класса в C++.

Перегрузка методов класса в C++.

Методы класса можно перегружать также, как и обычные функции. Это очень удобно, когда нужно сделать несколько конструкторов, которые будут принимать разные параметры. Например, создадим основу

 

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

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