АРХИВ ЗАПИСЕЙ  ●  УЧИМ C++

Здесь рассматривается пример функции, которая для комплексного числа \(z=x+iy\) будет вычислять значение экспоненты с комплексным аргументом.

Структуры можно использовать для реализации данных сложного типа. В качестве примера можно привести комплексные числа. Сразу заметим, что именно в этом случае использование структур не является оптимальным подходом - гораздо более эффективным представляется исполь­зование классов, к тому же в С++ есть специальный библиотечный класс для работы с комплексными числами.

Структуры, используемые вместе с динамическими массивами, позволяют создавать сложные структурные образования, полезные при решении самых разнообразных задач. Здесь рассмотрим создание бинарного дерева.Под бинарным деревом в общем случае подразумевают структуру связан­ных данных, в которой каждый элемент указывает на два других элемента того же типа. В вершине иерархии находится один элемент (первый эле­ мент). Он связан с двумя другими элементами (элементы второго уровня). Каждый элемент второго уровня связан с двумя элементами третьего уровня и т.д.

Достаточно удобный механизм определения новых имен для уже существующих типов реализуется с помощью ключевого слова typedef. Воспользовавшись объявлением вида typedef тип новое_имя_типа, в программе создают новое имя для типа данных.

Под перечислением подразумевают набор именованных целочислен­ных констант, которые используются для определения возможных значений переменной типа перечисления. Другими словами, перечис­ление определяет специальный тип данных, переменные которого мо­гут принимать целочисленные значения, причем каждое целочисленное значение имеет имя.

Под объединениями подразумевают область памяти, в которой одно­ временно хранится несколько различных переменных. Как и в случае структуры, само по себе объявление объединения не приво­дит к созданию новых переменных. Поэтому необходимо создать экземпляр объединения. При объявлении экземпляра объединения в качестве типа переменной указывают имя объединения.

При описании полей структуры в явном виде можно указывать размер полей. Минимальный размер поля структуры - один бит. При этом для части полей можно указывать размер, а для других - нет. Если поле имеет размер в один бит, в качестве его типа указывается unsigned (у числа, реализованного с помощью одного бита, не может быть знака).

В программе создается структура DList, у которой два поля: целочислен­ное поле m типа int и указатель р на переменную структуры типа DList, С помощью переменных этой структуры впоследствии реализуется динамический список - аналог целочисленного массива. В поле т записывается целочисленное значение, а указатель р служит для определения адреса следующего элемента динамического списка. Более точно, поле р является указателем на следующий (после текущего) элемент динамического списка.

При объявлении указателя на структуру, как и в случае создания указате­лей на значения базовых типов, указывается тип структуры, а перед именем переменной-указателя ставится оператор *. Этот же оператор используется для получения доступа к переменной структуры по указателю на эту пере­менную.

Структуры могут передаваться в качестве аргументов функциям. В этом случае в качестве типа аргумента функции указывается название структу­ры, переменная которой будет передана в функцию.

« 1 2 ... 5 6 7 8 9 ... 23 24 »
Онлайн всего: 2
Гостей: 1
Пользователей: 1

STUDLAB Сообщить про опечатку на сайте