Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Замена лексем
Управляющая компилятором строка вида
#DEFINE идентификатор строка-лексем
(Обратите внимание на отсутствие в конце точки с запя- той) приводит к тому, что препроцессор заменяет последующие вхождения этого идентификатора на указанную строку лексем. Строка вида
#DEFINE идентификатор (идентификатор,...,идентификатор)строка лексем
где между первым идентификатором и открывающейся скобкой ( нет пробела, представляет собой макроопределение с аргумен- тами. Последующее вхождение первого идентификатора, за кото- рым следует открывающая скобка '(', последовательность раз- деленных запятыми лексем и закрывающая скобка ')', заменяют- ся строкой лексем из определения. каждое вхождение идентифи- катора, упомянутого в списке формальных параметров в опреде- лении, заменяется соответствующей строкой лексем из обраще- ния. Фактическими аргументами в обращении являются строки лексем, разделенные запятыми; однако запятые, входящие в за- кавыченные строки или заключенные в круглые скобки, не раз- деляют аргументов. Количество формальных и фактических пара- метров должно совпадать. Текст внутри строки или символьной константы не подлежит замене. В обоих случаях замененная строка просматривается снова с целью обнаружения других определенных идентификаторов. В обоих случаях слишком длинная строка определения может быть продолжена на другой строке, если поместить в конце продол- жаемой строки обратную косую черту \.
Описываемая возможность особенно полезна для определения "объявляемых констант", как, например,
#DEFINE TABSIZE 100 INT TABLE[TABSIZE];
Управляющая строка вида
#UNDEF идентификатор
приводит к отмене препроцессорного определения данного иден- тификатора.
Date: 2015-09-17; view: 347; Нарушение авторских прав |