Int age; // элементы структуры
int id; //
}; // скобки и точка с запятой заканчивают описание
Где следует размещать определение структуры? Возможные варианты – внутри функции main() или перед ней. Чаще используют внешнее определение структуры, так как в этом случае возможно использование ее во всех функциях, следующих далее.
В приведенном примере шаблон student описывает новый тип данных, поэтому можно создавать переменные этого типа:
student victor;
Для обращения к элементам структуры используется оператор принадлежности ‑ точка (.), например, victor.age.
Обратите внимание, что в качестве элемента структуры можно использовать массив. Элементы структуры принято называть полями и они могут иметь любой тип, кроме типа этой же структуры, но могут быть указателями на него!
Структуры могут образовывать массив структур, например:
student group[35];
Рассмотрим пример работы со структурами. Разработаем структуру, представляющую временные величины в виде часы, минуты и научимся работать с ними.
#include <iostream.h>
// определение нового типа данных
struct time
{
- Введение
- Глава 1. Основы.
- Int main()
- 1.2. Методика создания программ в Microsoft Visual Studio.
- Void main(){
- 1.3. Ввод-вывод.
- 1.4. Переменные и константы.
- Int I; // объявление целочисленной переменной
- 42 // Десятичная константа
- 0X42 // шестнадцатеричная константа, начинается с 0х
- 042 // Восьмеричная константа, начинается с 0
- 1.5. Арифметические операции.
- Void main()
- 1.6. Встроенные функции. Математические функции. Состав math.H.
- Void main()
- Int rand(void); // функция используется без аргумента
- Глава 2. Операторы и выражения.
- 2.1. Логические выражения и операторы
- 2.1.1. Оператор if else
- If (условие)
- If (условие)
- 2.1.2. Конструкция if else if
- Int number;
- Int number;
- 2.1.3. Условный оператор.
- 2.1.4. Оператор switch.
- Int dvalue;
- 2.2. Операторы цикла.
- 2.2.1. Оператор for
- Void main()
- Int I; // создаем переменную цикла
- Void main()
- Int I; // переменную цикла можно определить и вне цикла
- 2.2.2. Изменение шага цикла
- Void main()
- 2.2.3. Цикл while.
- 2.2.4. Цикл do while
- Void main()
- 2.3. Операторы break и continue
- Void main()
- Void main()
- 2.4. Типичные ошибки при использовании операторов цикла
- Глава 3. Производные типы данных.
- 3.1. Ссылки и указатели.
- Int test; // объявили целочисленную переменную
- Int & s_test; // ошибка! ссылка не связана с переменной
- Int *p1; // объявлен указатель на целое с именем p1
- 3.2. Массивы и строки.
- Int z[10]; //массив из 10 целых чисел
- Int ar[3]; // объявлен целочисленный массив из 3 элементов
- Int varr[4]; // объявление массива
- 3.2.2. Многомерные массивы.
- Int z[3][4]; //массив из 12 целых чисел
- 3.2.3. Строки
- Void main()
- Void main()
- Void main()
- Void main()
- If(strstr(st,st2)) //если подстрока встречается, выводим
- 3.1.5. Динамическое определение одномерных массивов.
- 3.1.6. Динамические двумерные массивы.
- 3.1.7. Указатели, массивы и арифметика указателей.
- Int tacs[3];
- Void main()
- 3.2. Структуры
- Int age; // элементы структуры
- Int hours;
- Int mins;
- Void main()
- Int hours;
- Int mins;
- Void main()
- 4. Функции, определяемые пользователем
- 4.1. Объявление и определение функции
- Int max(int , int ); // в прототипе достаточно указать только тип и
- Void main() {
- Int MyRand(){
- Int func(){ return 1;} // правильное выражение
- Int func2(){return 0.146;} // неправильно, 0.146 преобразуется к int с
- Void swap(int p, int q)
- Int bigger(int a,int b)
- 4.2. Передача параметров функций
- 5. Заголовочные файлы.
- 6. Работа с файлами
- 6.1 Простой файловый ввод/вывод
- 6.2 Тонкости работы с файлами
- 7.1. Определение классов.
- Void main()
- 7.2. Как объявлять функции класса?
- 7.3. Конструкторы и деструкторы классов.
- 8. Графика OpenGl.
- Void callback Draw()
- Void main()
- 8.1. Создание анимации с помощью библиотеки xgl
- Приложения Управление выводом
- Управление шириной вывода