#define direktíva (c
token-string argumentum áll jelek számát, mint például kulcsszavak, állandók vagy teljes szereplők. token-string argumentum kell elválasztani az érv azonosító egy vagy több üres karakter. Ezek a terek nem képezik részét a kicserélt szöveg, mint minden egyéb olyan tér, az utolsó jele a szöveget.
#define direktíva nélkül token-string argumentum törli a bejegyzést azonosító a forrás fájlt. ID set argumentum azonosítója. Úgy meghatározott és lehet ellenőrizni #ha meghatározott irányelvek és #ifdef.
A második forma a szintaxis meghatároz egy makró hasonló a funkció a paramétereket. Ez a forma lehetővé teszi a használatát egy opcionális paraméterek jegyzékét, amelyeket meg kell zárójelbe. Meghatározása után minden ezt követő előfordulását makro azonosító (azonosító adott esetben. Azonosító adott) helyettesített változata token-string argumentum. amely ahelyett, hogy a formális paraméterek helyébe tényleges érvek.
A nevét a formális paraméterek megjelennek a token-húr. jelölje meg a helyet, ahol a tényleges értéket behelyettesítjük. A neve minden paraméter lehet használni a token-húros többször, és a neveket lehet helyezni bármilyen sorrendben. A számos érv a hívást meg kell egyeznie a paraméterek száma a makró definíció. Megfelelő zárójelek használata biztosítja a megfelelő feldolgozása összetett ténybeli érveket.
Formális paraméterek a listában, vesszővel elválasztva. Minden nevek a listán egyedinek kell lennie, és a listát kell zárójelek közé. Között a nyitó zárójelet és az azonosító nem lehet szóköz. Hosszú irányelvek rendezett több sornyi forráskódot használva összefűzése: közvetlenül megelőzően egy új sor utáni backslash (\). Terület neve egy formális paraméter bővül egy új sor, a végső token-húr.
Ha a makró meghatározott második formája a szintaxis, a következő szöveges tételeket, amelynek van egy lista érvek pont egy makró hívást. A tényleges érvek követő példány azonosítója a forrás fájlban vannak, mint a megfelelő formális paraméterek meghatározását egy makró. Minden formális paraméter a token-string sort. nem előzi meg üzemeltető hozzon létre egy sor (#), létrehozását karakterek (@ #), vagy helyezzen a token (##), vagy azt, hogy nem követi a kezelő ##. helyett a megfelelő tényleges érv. Cseréje előtt az irányelv elegáns környezetben, az összes makrót az aktuális argumentum kibontakozik. (Szakaszban ismertetett operátorok üzemeltetők előfeldolgozó).
A következő példákban, makro érvek azt mutatja, egy második formában #define szintaxis: