C language

From cppreference.com
< c

This is a brief reference of available C constructs.


[edit] General topics

[edit] Preprocessor

[edit] Comments

[edit] Keywords

[edit] ASCII chart

[edit] Escape sequences

[edit] History of C

[edit] Flow control

[edit] Conditional execution statements

Different code paths are executed according to the value of given expression

  • if executes code conditionally
  • switch executes code according to the value of an integral argument

[edit] Iteration statements

The same code is executed several times

  • for executes loop
  • while executes loop, checking condition before each iteration
  • do-while executes loop, checking condition after each iteration

[edit] Jump statements

Continue execution at a different location

  • continue skips the remaining part of the enclosing loop body
  • break terminates the enclosing loop
  • goto continues execution in another location
  • return terminates execution of the enclosing function

[edit] Functions

The same code can be reused at different locations in the program

[edit] Concepts

[edit] Scopes of identifiers

Scope determines the visibility of an identifier.

[edit] Linkages of identifiers

Linkage determines the accessibility of an identifier.

[edit] Name spaces of identifiers

Name spaces group identifiers around a particular purpose.

[edit] Storage durations of objects

Storage duration determines the lifetime of an object.

[edit] Types

Type determines the interpretation of a value.

  • basic types define character, integer and floating point types
  • array type, contiguously allocated nonempty set of objects with a particular member object type,
  • structure type, a sequentially allocated nonempty set of member objects
  • union type defines types that can hold data in several representations
  • function type defines function call signatures, that is the types of arguments and the return type
  • pointer type, holding a memory location
  • atomic type, designated by the construct _Atomic
  • enumeration type defines types that are able to hold only one of the specified values

[edit] Representations of types

[edit] Compatible type and composite type

[edit] Alignment of objects

Data alignment can affect performance.

[edit] Conversions

Conversions, implicitly or explicitly, change the value of one data type into a value of another data type.

[edit] Arithmetic operands

[edit] Other operands

[edit] Declarations

A declaration specifies the interpretation and attributes of a set of identifiers.

[edit] Specifiers

[edit] Type Qualifiers

[edit] Initializers

An initializer specifies the initial value stored in an object.

[edit] Literals

Literals are the tokens of a C program that represent constant values, embedded in the source code.

[edit] Expressions

An expression is a sequence of operators and operands that specifies a computation. An expression can result in a value and can cause side effects.

  • order of evaluation of arguments and subexpressions specifies the order in which intermediate results are obtained.
  • operators allow the use of syntax commonly found in mathematics
Common operators
assignment increment
arithmetic logical comparison member

a = b
a += b
a -= b
a *= b
a /= b
a %= b
a &= b
a |= b
a ^= b
a <<= b
a >>= b


a + b
a - b
a * b
a / b
a % b
a & b
a | b
a ^ b
a << b
a >> b

a && b
a || b

a == b
a != b
a < b
a > b
a <= b
a >= b


a, b
(type) a
? :
(since C11)

[edit] Utilities


[edit] Miscellaneous

[edit] See also

C++ documentation for C++ language constructs