Der C-Standard besagt, dass Variablennamen nicht mit Standard-C-Schlüsselwörtern und Standardfunktionsnamen übereinstimmen sollten. Warum kompiliert der folgende Code ohne Fehler?Sind gültige und fopen gültige Variablennamen?
#include <stdio.h>
int main()
{
int main = 10;
printf("Magic is %d", main);
return 0;
}
Siehe auch http://codepad.org/OXk4lZZE
In einem answer unten ouah schreibt
main
ist kein reservierter Bezeichner und es wird auf Namen Variablen alsmain
in C erlaubt
unter Berücksichtigung des unten stehenden Programms, tha t bedeuten, dass fopen
ist ebenfalls nicht reserviert?
#include <stdio.h>
int main()
{
int fopen = 10;
printf("Magic is %d", fopen);
return 0;
}
Der C-Standard sagt lotsa Dinge ... –
löst, Interessanterweise ist die gesamte „main als globale Variable“ -Konzept in der Internationalen 1984 von einem Sjoerd Mullender eingesetzt wurde Verschleierter C-Code-Wettbewerb. Siehe [hier] (http://ioccc.org/1984/mullender.c). – SevenBits