Navigation

3.2.1 Definition symbolischer Konstanten und Makros

#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

VERBATIM/b321a: 

 #define MAX 512 
 #define N   MAX/2 
 #define TEXT1 "Beispiel 1" 

Empfehlung:

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.

VERBATIM/b321b: 

 #define abs(P) (P < 0 ? -(P) : (P) 
 . . . 
 a = abs(x);

 wird ersetzt durch:

 a = (x < 0 ? -(x) : (x);

Symbolische Konstanten und Makros sind gültig bis zum Ende des Quellfiles bzw. bis zu:
#undef bezeichner
Navigation