Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Основные директивы препроцессора. Макросы

Читайте также:
  1. A)простые, синтетические, аналитические, основные
  2. B. Основные приложения метода координат на плоскости.
  3. I. Основные богословские положения
  4. I. Основные положения
  5. I. ОСНОВНЫЕ ПОНЯТИЯ
  6. I. Основные формы исследования ППО
  7. I. Основные характеристики финансовых активов
  8. II. Основные направления безотходной и малоотходной технологии
  9. II. Основные положения по организации практики
  10. II. Основные права и обязанности обучающихся

Основные типы данных, объявление пользовательских типов данных typedef

В языке C++ можно использовать 5 основных типов данных void, int, float, double и char

К целочисленным типам относятся типы, представленные следующими именами основных типов:

· сhar(символьный)

· int (целочисленный тип)

К типам с плавающей запятой относятся 2 типа, представленные следующими именами типов, модификаторов и их сочетаний:

· float (с плавающей запятой)

· double(с плавающей запятой,двойной точности)

· long double(с плавающей запятой и двойной точности)

Можно использовать модификаторы типа:

Signed(знаковый)

Unsigned(беззнаковый)

Short(укороченная версия типа)

Long(удлиненная версия типа)

 

Так же есть типы: bool и wchar_t.

· bool (логический)

· wchar_t(символьный расширенный)

Директива typedef

С помощью директивы typedef мы можем задать синоним для встроенного либо пользовательского типа данных.

Пример:

typedef double wages;

typedef vector<int> vec_int;

typedef vec_int test_scores;

typedef bool in_attendance;

typedef int *Pint;

 

Имена, определенные с помощью директивы typedef, можно использовать точно так же, как спецификаторы типов:

 

// double hourly, weekly;

wages hourly, weekly;

// vector<int> vecl(10);

vec_int vecl(10);

// vector<int> test0(c1ass_size);

const int c1ass_size = 34;

test_scores test0(c1ass_size);

// vector< bool > attendance;

vector< in_attendance > attendance(c1ass_size);

// int *table[ 10 ];

Pint table [ 10 ];

Эта директива начинается с ключевого слова typedef, за которым идет спецификатор типа, и заканчивается идентификатором, который становится синонимом для указанного типа.

Основные директивы препроцессора. Макросы

Макросы в языке программирования Си преимущественно используются для определения небольших фрагментов кода. Во время обработки кода препроцессором, каждый макрос заменяется соответствующим ему определением. Если макрос имеет параметры, то они указываются в теле макроса; таким образом, макросы языка Си могут походить на Си-функции. Распространенная причина использования — избежание накладных расходов при вызове функции в простейших случаях, когда небольшого кода, вызываемого функцией, достаточно для ощутимого снижения производительности.

 

#define max(a,b) ((a) > (b)? (a): (b))

z = max(x,y); -> z = ((x) > (y)? (x): (y));

Директивы препроцессора представляют собой инструкции, записанные в тексте программы на С, и выполняемые до трансляции программы. Директивы препроцессора позволяют изменить текст программы, например, заменить некоторые лексемы в тексте, вставить текст из другого файла, запретить трансляцию части текста и т.п. Все директивы препроцессора начинаются со знака #. После директив препроцессора точка с запятой не ставятся.
Директива #INCLUDE включает в текст программы содержимое указанного файла. Эта директива имеет 2 формы
#INCLUDE "ИМЯ ФАЙЛА"
#INCLUDE <ИМЯ ФАЙЛА>




Дата добавления: 2015-04-20; просмотров: 28 | Поможем написать вашу работу | Нарушение авторских прав

<== 1 ==> | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав