Why does C have keywords starting with underscore
Most keywords in C (or in any language for that matter) starts with a letter. But there are some keywords that starts with an underscore? They keywords are: _Alignas , _Alignof , _Atomic , _Bool , _Complex , _Generic , _Imaginary , _Noreturn , _Static_assert and _Thread_local . I find it amazingly strange. If it was a hidden global constant or internal function that's not really a part of the API, I would understand it. But these are keywords . I find it extra strange when C actually have a macros called bool and static_assert , and that their implementations is using the keywords. C developed