В стандарте C указано, что имена переменных не должны совпадать со стандартными ключевыми словами C и стандартными именами функций. Тогда почему код ниже компилируется без ошибок?
#include <stdio.h>
int main()
{
int main = 10;
printf("Magic is %d", main);
return 0;
}
См. также http://codepad.org/OXk4lZZE
В ответе ниже, ouah пишет
main
не является зарезервированным идентификатором, и ему разрешено указывать переменные какmain
в C
поэтому, рассматривая программу ниже, означает ли это, что fopen
также не зарезервировано?
#include <stdio.h>
int main()
{
int fopen = 10;
printf("Magic is %d", fopen);
return 0;
}