| Arjun Suresh (talk | contribs)  (Created page with "==Keywords in C== 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:  {|...") | Arjun Suresh (talk | contribs)  | ||
| (5 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 | 
| |- | |- | ||
| − | | break | + | | break||inline||void | 
| |- | |- | ||
| − | | case | + | | case||int||volatile | 
| |- | |- | ||
| − | | char | + | | char||long||while | 
| |- | |- | ||
| − | | const | + | | const||register||_Alignas | 
| |- | |- | ||
| − | | continue | + | | continue||restrict||_Alignof | 
| |- | |- | ||
| − | | default | + | | default||return||_Atomic | 
| |- | |- | ||
| − | | do | + | | do||short||_Bool | 
| |- | |- | ||
| − | | double | + | | double||signed||_Complex | 
| |- | |- | ||
| − | | else | + | | else||sizeof||_Generic | 
| |- | |- | ||
| − | | enum | + | | enum||static||_Imaginary | 
| |- | |- | ||
| − | | extern | + | | extern||struct||_Noreturn | 
| |- | |- | ||
| − | | float | + | | float||switch||_Static_assert | 
| |- | |- | ||
| − | | for | + | | for||typedef||_Thread_local | 
| |- | |- | ||
| − | | goto | + | | goto||union|| | 
| − | | | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | | union | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | | | ||
| − | |  | ||
| |- | |- | ||
| |   | |   | ||
| |} | |} | ||
| − | |||
| + | ==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 | 
| break | 
| case | 
| char | 
| const | 
| continue | 
| default | 
| do | 
| double | 
| else | 
| enum | 
| extern | 
| float | 
| for | 
| goto | 
| if | 
| inline | 
| int | 
| long | 
| register | 
| restrict | 
| return | 
| short | 
| signed | 
| sizeof | 
| static | 
| struct | 
| switch | 
| typedef | 
| union | 
| unsigned | 
| void | 
| volatile | 
| while | 
| _Alignas | 
| _Alignof | 
| _Atomic | 
| _Bool | 
| _Complex | 
| _Generic | 
| _Imaginary | 
| _Noreturn | 
| _Static_assert | 
| _Thread_local |