Zunächst mal: #define definiert ein Präprozessor-Makro. Überall im
Quelltext (außer natürlich innerhalb von Strings), wo ECHO vorkommt,
wird dies durch 100 ersetzt, bevor der eigentliche Compiler den Code
sieht.
> Möchte das Echo einfach nur als Konstante ohne Integer Wert
> verwenden.
Eine Konstante ohne Wert? Das ergibt keinen Sinn.
> Wenn ch die 100 weglasse gibt es ne Fehlermeldung...
Klar, wenn du sowas wie:
x = ECHO * 5;
dann wird durch den Präprozessor daraus:
x = * 5;
weil du dem Präprozessor gesagt hast, er soll alle Vorkommen von ECHO
durch nichts ersetzen.