continue statement

Causes the remaining portion of the enclosing for, while or do-while loop body to be skipped. Used when it is otherwise awkward to ignore the remaining portion of the loop using conditional statements. Syntax continue ; Explanation The continue statement causes a jump, as if by goto, to the end of the loop body (it may only appear within the loop body of for, while, and do-while loops). For while loop, it acts as. while (/* ... */) { // ... continue; // acts as goto contin

continue

Usage continue statement: as the declaration of the statement

Constant expressions

Several varieties of expressions are known as constant expressions. Preprocessor constant expression The expression following #if or #elif must expand to. operators other than assignment, increment, decrement, function-call, or comma whose arguments are preprocessor constant expressions integer constants character constants the special preprocessor operator defined Character constants, when evaluated in #if-expressions, may be interpreted in the source character set, the execution

const type qualifier

Each individual type in the C type system has several qualified versions of that type, corresponding to one, two, or all three of the const, volatile, and, for pointers to object types, restrict qualifiers. This page describes the effects of the const qualifier. Objects declared with const-qualified types may be placed in read-only memory by the compiler, and if the address of a const object is never taken in a program, it may not be stored at all. const semantics apply to lvalue expressions on

const

Usage const type qualifier

conjf

Defined in header <complex.h> float complex conjf( float complex z ); (1) (since C99) double complex conj( double complex z ); (2) (since C99) long double complex conjl( long double complex z ); (3) (since C99) Defined in header <tgmath.h> #define conj( z ) (4) (since C99) 1-3) Computes the complex conjugate of z by reversing the sign of the imaginary part. 4) Type-generic macro: if z has type long double complex, long double imag

Conditional inclusion

The preprocessor supports conditional compilation of parts of a source file. This behavior is controlled by #if, #else, #elif, #ifdef, #ifndef and #endif directives. Syntax #if expression #ifdef expression #ifndef expression #elif expression #else #endif Explanation The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif directives, then optionally includes at most one #else direct

compound literals

Constructs an unnamed object of specified type in-place, used when a variable of array, struct, or union type would be needed only once. Syntax ( type ) { initializer-list } (since C99) where. type - a type name specifying any complete object type or an array of unknown size, but not a VLA initializer-list - list of initializers suitable for initialization of an object of type Explanation The compound literal expression constructs an unnamed object of the type spec

Complex number arithmetic

If the macro constant __STDC_NO_COMPLEX__ is defined by the implementation, the complex types, the header <complex.h> and all of the names listed here are not provided. (since C11) The C programming language, as of C99, supports complex number math with the three built-in types double _Complex, float _Complex, and long double _Complex (see _Complex). When the header <complex.h> is included, the three complex number types are also accessible as double complex, float complex, long

complex

Defined in header <complex.h> #define complex _Complex (since C99) This macro expands to a type specifier used to identify complex types. A program may undefine and perhaps then redefine the complex macro. References C11 standard (ISO/IEC 9899:2011): 7.3.1/4 complex (p: 188) C99 standard (ISO/IEC 9899:1999): 7.3.1/2 complex (p: 170) See also imaginary (C99) imaginary type macro (macro constant)