В этой статье вы узнаете о структурах в программировании на C ++; что это такое, как определить и использовать в своей программе.
Структура - это совокупность переменных разных типов данных под одним именем. Он похож на класс тем, что оба хранят набор данных разных типов.
Например: вы хотите сохранить некоторую информацию о человеке: его / ее имя, номер гражданства и зарплату. Вы можете легко создать различные имена переменных, citNo, зарплату, чтобы хранить эту информацию отдельно.
Однако в будущем вы захотите хранить информацию о нескольких людях. Теперь вам нужно создать разные переменные для каждой информации для каждого человека: name1, citNo1, salary1, name2, citNo2, salary2.
Вы можете легко представить себе, насколько большим и беспорядочным будет выглядеть код. Кроме того, поскольку не существует связи между переменными (информацией), это будет непростой задачей.
Лучшим подходом будет сбор всей связанной информации под одним именем Person
и использование ее для каждого человека. Теперь код выглядит намного чище, удобочитаемым и эффективным.
Этот набор всей связанной информации под одним именем Person
представляет собой структуру.
Как объявить структуру в программировании на C ++?
struct
Ключевое слово определяет тип структуры , за которым следует идентификатор (имя структуры).
Затем внутри фигурных скобок вы можете объявить один или несколько членов (объявить переменные внутри фигурных скобок) этой структуры. Например:
struct Person (char name (50); int age; float salary;););
Здесь определяется структурное лицо, состоящее из трех членов: имя, возраст и зарплата.
При создании структуры память не выделяется.
Определение структуры - это всего лишь план для создания переменных. Вы можете представить это как тип данных. Когда вы определяете целое число, как показано ниже:
int foo;
В int
указывает , что переменная Foo может содержать только целое число элементов. Точно так же определение структуры указывает только то, какое свойство имеет структурная переменная при ее определении.
Примечание: не забудьте заканчивать объявление точкой с запятой (;)
Как определить структурную переменную?
Как только вы объявите структурное лицо, как указано выше. Вы можете определить структурную переменную как:
Персональный счет;
Здесь вексель переменной структуры определен который имеет структуру типа P erson
.
Когда структурная переменная определена, компилятор выделяет необходимую память.
Учитывая, что у вас 32-битная или 64-битная система, память float
составляет 4 байта, память int
- 4 байта, а память char
- 1 байт.
Следовательно, для структурной переменной bill выделено 58 байт памяти.
Как получить доступ к членам структуры?
Доступ к членам структурной переменной осуществляется с помощью оператора точки (.) .
Предположим, вы хотите получить доступ к возрасту структурной переменной bill и присвоить ей значение 50. Вы можете выполнить эту задачу, используя следующий код:
bill.age = 50;
Пример: структура C ++
Программа на C ++ для присвоения данных членам структурной переменной и их отображения.
#include using namespace std; struct Person ( char name(50); int age; float salary; ); int main() ( Person p1; cout << "Enter Full name: "; cin.get(p1.name, 50); cout <> p1.age; cout <> p1.salary; cout << "Displaying Information." << endl; cout << "Name: " << p1.name << endl; cout <<"Age: " << p1.age << endl; cout << "Salary: " << p1.salary; return 0; )
Вывод
Введите полное имя: Магдалена Данкова Укажите возраст: 27 Укажите зарплату: 1024,4 Отображение информации. Имя: Магдалена Данкова Возраст: 27 Заработная плата: 1024,4
Здесь объявляется структура Person, которая состоит из трех членов: имя, возраст и зарплата.
Внутри main()
функции определяется структурная переменная p1. Затем пользователя просят ввести информацию, и отображаются данные, введенные пользователем.
Вам также следует ознакомиться с этими руководствами, связанными со структурой:
- Как передать структуры функциям?
- Как использовать указатели со структурами?