Zeichen-Operator #@
Wird in einer parametrisierten Makrodefinition einem Makro-Parameter die Zeichenfolge #@
vorangestellt, bewirkt dies, dass der Makro-Parameter nicht einfach mit dem übergebenen Argument ersetzt wird, sondern, dass der übergebene Code als Character in einfachen Anführungszeichen ''
interpretiert wird, weswegen dieser Makro-Operator auch liebevoll als Buchstabisierer
oder auf Englisch als Charizer
bezeichnet wird. Dieser Makro-Operator ist jedoch nicht auf jedem System verfügbar.
i: 5
#include <stdio.h>
#define MESSAGE(x) printf("%c: %d\n", #@x, x)
int main(){
int i = 5;
MESSAGE(i);
return 0;
}