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 |