Hacker News new | past | comments | ask | show | jobs | submit login

Those are the words that are part of the language itself! The _ prefix is used for variables.



I know. I mean if they differentiated keywords like static with _ (and didn't allow it as a variable prefix) then they could have an infinite number on non-clashing language keywords...


That's exactly how it works for all new (from C99 onward) keywords.

The actual keywords are defined with a leading underscore and a capital letter. The standard reserves all such identifiers for implementation, and so no valid conforming program should contain any such.

Thus, you get keywords like _Bool and _Complex. And then, to make them look nice, there are headers like <stdbool.h> which basically just do #define bool _Bool etc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: