Der Präprozessor rechnet nicht. Er bearbeitet Anweisungen zum Einfügen von Quelltext (#include), zum Ersetzen von Makros (#define), und bedingter Übersetzung (#if).
Code:
#define CELSIUS_ZU_FAHRENHEIT( t ) ( ( t ) * 1.8 + 32 )
Das Makro CELSIUS_ZU_FAHRENHEIT beschreibt die Umrechnung einer Temperatur (angegeben als Parameter t) aus der Celsius- in die Fahrenheit-Skala. Auch ein Makro mit Parametern wird im Quelltext ersetzt:
Code:
int fahrenheit, celsius = 10;
fahrenheit = CELSIUS_ZU_FAHRENHEIT( celsius + 5 );
wird durch den C-Präprozessor ersetzt zu:
Code:
int fahrenheit, celsius = 10;
fahrenheit = ( ( celsius + 5 ) * 1.8 + 32 );
Quelle
Danach darf der Compiler gemäß der spezifizierten Rechenregeln weitermachen.
Lesezeichen