Line 35: Line 35:
 
|}
 
|}
  
====
+
==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}}
 
{{Template:FBD}}

Revision as of 17:02, 22 June 2014

Keywords in C

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

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
  • 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



blog comments powered by Disqus

Keywords in C[edit]

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

Language limits[edit]

Any C compiler (conforming to C11 standard) should be able to handle the following cases:

statements)



blog comments powered by Disqus