Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Объединения union
Объединения соответствуют типам вариантных записей языка Delphi и объявляются подобно структурам. Активным может быть только одно поле. Все поля перекрывают друг друга в памяти. Размер объединения равен размеру наибольшего поля. Пример: union un {int i; float f; char c; } a, b; // объявление объединения a.i=1; Label1-> Caption=a.i; // использование поля i a.f=12.34; Label2-> Caption=a.f; // использование поля f a.c='w'; Label3-> Caption=a.c; // использование поля c Перечисления enum Перечисления служат для присвоения имен набору целых чисел (int), что повышает наглядность и надежность задания правильных значений переменной. Объявление имеет вид: enum [< имя перечисляемого типа для объявления переменных> ] { < имя 1> [=< значение 1> ],..., < имя N> [=< значение N> ] } [< список имен перечисляемых переменных> ]; По умолчанию значение первого элемента равно нулю, а значение следующего элемента списка на единицу больше. Пример задания имен дням недели, начиная с понедельника: int main(int argc, char **argv) // основная процедура { enum dninedeli {poned=1, vtor, sreda, hetv, pjtn, subb, vosk} den; // дни недели den=vosk; // задание значения перечисляемой переменной den if (den==vosk) printf(«Воскресенье %d день недели», den); getch(); // вывод } Основные возможности Предпроцессор В задачи предпроцессора входят: подключение (при необходимости) к данной программе внешних файлов, указываемых директивой #include, и выполнение его директив. 6.2.2. Директива #Include Во многие программы подставляются один или несколько файлов, часто в самое начало кода главной программы main. Появление директив: #include < файл_1> ... #include «файл_n» приводит к тому, что препроцессор подставляет на место этих директив тексты файлов: файл_1 файл_2 файл_n соответственно. Если имя файла заключено в кавычки, то включается файл пользователя. Если имя файла заключено в угловые скобки, то файл входит во внешние библиотеки C++. Приведем список основных библиотек: stdlib.h (стандартная), math.h, math.hpp (математика), SysUtils.hpp (утилиты), time.h (время), ctype.h (обработка символов), string.h (строки), stdio.h, conio.h (ввод‑ вывод). 6.2.3. Директива #define С помощью директивы #define, вслед за которой пишутся имя и значение макрооператора, оказывается возможным указать предпроцессору, чтобы он при любом появлении в исходном файле данного имени заменял это имя на соответствующее значение макрооператора (именованные константы (п. 1.1.1)). Пример: #define square (х) ((х)*(х)); /* задает замену символа square (аргумент) на значение (аргумент) * (аргумент) */ Пример: #define рi 3.1415926; /* связывает идентификатор pi со значением 3.1415962 */
|