ПредишенСледващото

жетони низ аргумент се състои от определен брой символи, като ключови думи, константи или пълни оператори. жетони низ довод трябва да бъде отделена от идентификатора на спор с един или повече празни символи. Тези пространства, които не се считат за част от заменя текста, подобно на всички други места, считано от последното логика на текста.

#define директива без знак низ аргумент изтрива влизане идентификатор на файла източник. ID идентификатор набор аргумент. Тя се определя и може да се провери чрез #if определени директиви и #ifdef.

Втората форма на синтаксис определя макро подобен на функцията с параметрите. Тази форма позволява използването на допълнителен списък на параметрите, които трябва да бъдат в скоби. След определяне всяка следваща поява на макро идентификатор (идентификатор избор. Идентификатор евентуално) заместен версия знак-низ аргумент. , в която вместо на формалните параметри са заменено с реални аргументи.

Имената на формалните параметри са показани в знак-низ. за отбелязване на мястото, където са заместени действителните стойности. Името на всеки параметър може да се използва в знак низ няколко пъти, както и имената могат да бъдат поставени в произволен ред. Броят на аргументи в поканата трябва да съответства на броя на параметрите в макро определение. Правилното използване на скоби се гарантира правилното обработване на сложни фактически аргументи.

Формални параметри в списъка са разделени със запетая. Всички имена в списъка трябва да са уникални, и списъкът трябва да бъде затворен в скоби. Между отварящата скоба и идентификаторът трябва да бъде без интервали. За дълги директиви подредени в няколко реда код, като се използва наниз: непосредствено преди нов ред след наклонена черта (\). Площ на името на официално параметър се разширява до нов ред, крайният знак-низ.

Ако макросът е определен във втората форма на синтаксиса, следните текстови елементи, за които има списък с аргументи да сочи към макро повикване. Действителните аргументи следните идентификатор например във файл източник се сравняват със съответните формални параметри в дефиницията на макрос. Всяка официална параметър в знак низ линия. не предхожда от оператор създаде ред (#), създаването на знака (@ #) или поставяне на токена (##), или че не е последвано от оператора ##. заменя със съответен действителен аргумент. Преди да смените директива официална обстановка, всички макроси в действителния аргумент разгръща. (Описани в раздел оператори Операторите Препроцесор).

В следващите примери, макро аргументи показва втори синтаксис форма #define:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!