#define bezeichner zeichenfolge
Eine Präprozessoranweisung dieser Form bewirkt, dass im restlichen Quellfile jedesmal bezeichner durch zeichenfolge ersetzt wird.
Ausnahme: zeichenfolge steht in einer Zeichen- oder Zeichenkettenkonstante
Bei der Vereinbarung symbolischer Konstanten kann auf zuvor definierte symbolische Konstanten Bezug genommen werden
Empfehlung:
VERBATIM/b321a: #define MAX 512 #define N MAX/2 #define TEXT1 "Beispiel 1"
Eine Makrodefinition erfolgt in dieser Form:
#define makro_bezeichner ( par1, par2, ... ) zeichenfolge
Der Makroaufruf erfolgt so:
makro_bezeichner ( argument1, argument2, ... )
Jedes Auftreten von makro_bezeichner im Quellfile wird ersetzt durch zeichenfolge, wobei in zeichenfolge jeder Parameter pari durch das entsprechende Argument argumenti ersetzt wird.
Symbolische Konstanten und Makros sind gültig bis zum Ende des Quellfiles bzw. bis zu:
VERBATIM/b321b: #define abs(P) (P < 0 ? -(P) : (P) . . . a = abs(x); wird ersetzt durch: a = (x < 0 ? -(x) : (x);
#undef bezeichner