Структуры данных С++
Массивы C/C++ позволяют определять переменные, объединяющие несколько элементов данных одного типа, но с структурой. — это еще один определяемый пользователем тип данных, который позволяет комбинировать элементы данных разных типов.
Структуры используются для представления записей, предположим, вы хотите отслеживать свои книги в библиотеке. Возможно, вы захотите отслеживать следующие атрибуты каждой книги —
- Название
- Автор
- Тема
- Идентификатор книги
Определение структуры
Чтобы определить структуру, вы должны использовать оператор struct. Оператор struct определяет новый тип данных с более чем одним элементом для вашей программы. Формат оператора структуры таков —
06
Тег структуры является необязательным, и каждое определение члена является обычным определением переменной, например int i; или плавать f; или любое другое допустимое определение переменной. В конце определения структуры, перед последней точкой с запятой, вы можете указать одну или несколько структурных переменных, но это необязательно. Вот как вы могли бы объявить структуру книги —
15пре>Доступ к элементам структуры
Чтобы получить доступ к любому члену структуры, мы используем оператор доступа к члену (.) . Оператор доступа к члену закодирован как точка между именем структурной переменной и членом структуры, к которому мы хотим получить доступ. Вы бы использовали struct ключевое слово для определения переменных структурного типа. Ниже приведен пример, объясняющий использование структуры —
Живая демонстрация23Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
37Структуры как аргументы функций
Вы можете передать структуру в качестве аргумента функции точно так же, как вы передаете любую другую переменную или указатель. Вы можете получить доступ к структурным переменным так же, как в приведенном выше примере —
Живая демонстрация45Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
53Указатели на структуры
Вы можете определить указатели на структуры очень похожим образом, как вы определяете указатель на любую другую переменную следующим образом —
66Теперь вы можете сохранить адрес структурной переменной в указанной выше переменной-указателе. Чтобы найти адрес структурной переменной, поместите оператор &перед именем структуры следующим образом:-
78Чтобы получить доступ к членам структуры с помощью указателя на эту структуру, вы должны использовать оператор -> следующим образом —
84Давайте перепишем приведенный выше пример, используя указатель структуры, надеюсь, вам будет легко понять концепцию —
Живая демонстрация94Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
102Ключевое слово typedef
Существует более простой способ определения структур, или вы можете создать псевдоним типов, которые вы создаете. Например —
119Теперь вы можете использовать Книги непосредственно для определения переменных Books введите без использования ключевого слова struct. Ниже приведен пример —
124Вы можете использовать typedef ключевое слово для не-структур, а также следующее —
139x, y и z — все указатели на длинные целые числа.
Язык C