(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: {|...")
 
 
(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 42 keywords which are as follows:  
+
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}}
| align="center" style="background:#f0f0f0;"|'''auto'''
+
| 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||
|-
 
| 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
 
 
|-
 
|-
 
|  
 
|  
 
|}
 
|}
{{Template:FBD}}
 
  
 +
==Language limits==
 +
Any C compiler (conforming to C11 standard) should be able to handle the following cases:
  
 
+
* 127 nesting levels of blocks
[[Category: Book on C]]
+
* 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}}

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



blog comments powered by Disqus