They are supposed to be macros, according to the C standards. This ordinarily doesn't matter, but it can be detected by #ifdef, as in the following program: #include <stdio.h> #ifdef stdin int main(void) { puts("stdin is a macro"); } #endif