Основы программирования на языке C


Замена идентификаторов


#define идентификатор строка

Пример:

#define ABC 100

Заменяет каждое вхождение идентификатора ABC в тексте программы на 100:

#undef идентификатор

Пример:

#undef ABC

Отменяет предыдущее определение для идентификатора ABC.

Пример:

/* Простые примеры директивы препроцессора */ #define TWO 2 /* можно использовать комментарии*/ #define MSG "Текст 1.\ Продолжение текста 1" /* обратная косая черта продолжает определение на следующую строку */ #define FOUR TWO*TWO #define PX printf("X равен %d.\n", x) #define FMT "X равен %d.\n" main( ) { int x = TWO; PX; x = FOUR; printf(FMT,x); printf("%s\n",MSG); printf("TWO:MSG\n"); }

В результате выполнения нашего примера будем иметь:

X равен 2 X равен 4 Текст 1. Продолжение текста 1 TWO: MSG

Разберем, что произошло. Оператор

int x = TWO;

превращается в

int x = 2;

Затем оператор

PX;

превращается в

printf("X равно %d.\n",x);

поскольку сделана полная замена. Теперь мы видим, что макроопределение может представлять любую строку, даже целое выражение на языке Си. Заметим, что это константная строка. PX напечатает только переменную, названную x.

on_load_lecture()

Дальше »

  Если Вы заметили ошибку - сообщите нам.  

Страницы:

1

|

2

|

3

|

4

|

5

|

вопросы | »

|

учебники

|

для печати и PDA

Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

© 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование




Содержание  Назад  Вперед