Си++/Препроцессорные директивы: различия между версиями
Строка 20: | Строка 20: | ||
Основная форма синтаксиса директивы #define: |
Основная форма синтаксиса директивы #define: |
||
#define идентификатор текст |
''<nowiki>#</nowiki>define идентификатор текст'' |
||
Так например, в программе: |
Так например, в программе: |
||
#define chislo 5 |
''<nowiki>#</nowiki>define chislo 5 |
||
void main(void) |
void main(void) |
||
{ |
{ |
||
Строка 29: | Строка 31: | ||
a = chislo; |
a = chislo; |
||
} |
} |
||
'' |
|||
Переменная а примет значение 5. |
Переменная а примет значение 5. |
||
Версия от 17:57, 7 августа 2006
Препроцессор входит в любой компилятор программ на Си++ и любую среду разработки, рассчитаную на этот язык. Препроцессор обрабатывает исходный код программ до их компиляции. Препроцессорные команды, или директивы, управляют работой препроцессора.
Таких команд немного, они все начинаются со знака решётки (#
) и должны быть в начале строки исходного кода:
#define
- эта директива предусматривает определение макросов или препроцессорных идентификаторов, простейшее применение это замены в тексте программы
#include
- позволяет включать текст других файлов в текст вашей программы.
#undef
- отменяет действие директивы #define
#if
- организация условной обработки директив
#ifdef
- организация условной обработки директив
#else
- организация условной обработки директив
#endif
- организация условной обработки директив
#elif
- организация условной обработки директив
#line
- управление нумерацией строк в тексте программы
#error
- задает текст диагностического сообщения, выводящиеся при наличии ошибок
#pragma
- зависит от среды разработки
#
- нулевая, или пустая, директива, бездейственно пропускается
Директива #define
Директива #define служит для замены часто использующихся констант, ключевых слов, операторов или выражений некоторыми идентификаторами. Идентификаторы, заменяющие текстовые или числовые константы, называют именованными константами. Идентификаторы, заменяющие фрагменты программ, называют макроопределениями, причем макроопределения могут иметь аргументы.
Основная форма синтаксиса директивы #define:
#define идентификатор текст
Так например, в программе:
#define chislo 5 void main(void) {
int a; a = chislo;
} Переменная а примет значение 5.