Glossary of C Language Terminology

aliasing

Occurs when multiple pointers refer to the same object. e.g.

int x;
int *p1 = &x;
int *p2 = &x;

The pointers p1 and p2 alias the integer x.

effective type

The type used to access the stored value of an object; equivalent to the declared type of the object, if any.

The effective type of an allocated object, which has no declared type, is determined by the type of the most recent non-character-type lvalue used to store a value into that object, and can therefore change.

forward declaration

A declaration that introduces an identifier of an object, function, or type before its actual definition, enabling subsequent use without revealing implementation details. See also: function prototype

function prototype

Declaration of a function that declares the types of its parameters, and its return type, but does not provide a function definition. See forward declaration.

inline function

An inline function, declared with the inline function specifier, provides an alternative definition of a function which is otherwise externally linked from another translation unit. A call to the function in question could call either version of the function.

lvalue

Acronym of “left value”. Represents an expression that can appear on the left side of an assignment operator (=). It typically refers to a memory location or an object that has a persistent address, allowing you to assign a new value to it.

precision

The quantity of value bits in an integer type.

preprocessing translation unit

A source file together with all the headers and source files included via the preprocessing directive #include.

rvalue

Acronym of “right value”. Represents an expression that can appear on the right side of an assignment operator (=). It typically refers to a temporary value or a result that can be assigned to an lvalue but does not have a persistent address.

side effect

A change in the state of the execution environment. See also: Program Execution

translation unit

A preprocessing translation unit which has undergone preprocessing.

width

The quantity of value and sign bits in an integer type.