Arjun Suresh (talk | contribs) (→Keywords in C) |
Arjun Suresh (talk | contribs) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Keywords in C== | ==Keywords in C== | ||
− | Keywords are reserved words in C, which a programmer must not use for other purposes. In C11 standard there are totally | + | Keywords are reserved words in C, which a programmer must not use for other purposes. In C11 standard there are totally 44 keywords which are as follows: |
{| {{table}} | {| {{table}} | ||
| auto ||if||unsigned | | auto ||if||unsigned | ||
Line 34: | Line 34: | ||
| | | | ||
|} | |} | ||
− | |||
+ | ==Language limits== | ||
+ | Any C compiler (conforming to C11 standard) should be able to handle the following cases: | ||
− | + | * 127 nesting levels of blocks | |
− | + | * 63 nesting levels of conditional inclusion | |
+ | <!-- 12 pointer, array, and function declarators (in any combinations) modifying an | ||
+ | arithmetic, structure, union, or void type in a declaration --> | ||
+ | * 63 nesting levels of parenthesized declarators within a full declarator | ||
+ | * 63 nesting levels of parenthesized expressions within a full expression | ||
+ | * 63 significant initial characters in an internal identifier or a macro name | ||
+ | * 31 significant initial characters in an external identifier | ||
+ | * 4095 external identifiers in one translation unit | ||
+ | * 511 identifiers with block scope declared in one block | ||
+ | * 4095 macro identifiers simultaneously defined in one preprocessing translation unit | ||
+ | * 127 parameters in one function definition | ||
+ | * 127 arguments in one function call | ||
+ | * 127 parameters in one macro definition | ||
+ | * 127 arguments in one macro invocation | ||
+ | * 4095 characters in a logical source line | ||
+ | * 4095 characters in a string literal (after concatenation) | ||
+ | * 65535 bytes in an object (in a hosted environment only) | ||
+ | * 15 nesting levels for #included files | ||
+ | * 1023 case labels for a switch statement (excluding those for any nested switch statements) | ||
+ | * 1023 members in a single structure or union | ||
+ | * 1023 enumeration constants in a single enumeration | ||
+ | * 63 levels of nested structure or union definitions in a single struct-declaration-list | ||
+ | {{Template:FBD}} |
Keywords are reserved words in C, which a programmer must not use for other purposes. In C11 standard there are totally 44 keywords which are as follows:
auto | if | unsigned |
break | inline | void |
case | int | volatile |
char | long | while |
const | register | _Alignas |
continue | restrict | _Alignof |
default | return | _Atomic |
do | short | _Bool |
double | signed | _Complex |
else | sizeof | _Generic |
enum | static | _Imaginary |
extern | struct | _Noreturn |
float | switch | _Static_assert |
for | typedef | _Thread_local |
goto | union | |
Any C compiler (conforming to C11 standard) should be able to handle the following cases:
Keywords are reserved words in C, which a programmer must not use for other purposes. In C11 standard there are totally 42 keywords which are as follows:
auto | if | unsigned |
break | inline | void |
case | int | volatile |
char | long | while |
const | register | _Alignas |
continue | restrict | _Alignof |
default | return | _Atomic |
do | short | _Bool |
double | signed | _Complex |
else | sizeof | _Generic |
enum | static | _Imaginary |
extern | struct | _Noreturn |
float | switch | _Static_assert |
for | typedef | _Thread_local |
goto | union | |