Der Präprozessor ist ein Textersetzungssystem. Mit anderen Worten, wenn Sie das Symbol STATE
an anderer Stelle in Ihrem Programm verwenden, wird es durch seine Definition ersetzt (1
).
Zum Beispiel, wenn Sie schreiben:
printf("%d\n", STATE);
Der Präprozessor ersetzt STATE
mit 1
und was der Compiler tatsächlich "sieht" ist:
printf("%d\n", 1);
Wenn Sie STATE
zu aktualisieren, um zu versuchen waren innerhalb C-Code erhalten Sie Fehler bei der Zuweisung zu einem R-Wert.
Wenn Sie Zustand neu definieren wollen innerhalb der Prä-Prozessor, könnten Sie tun:
#define STATE 1
#undef STATE
#define STATE 2
dass keine Variable ist. Sie sollten lesen, wie der C-Präprozessor funktioniert. – Olaf