Constant Expressions


Constant expressions may never contain (except as an operand to the sizeof operator):

Integral constant expressions

... are used in case expressions, to specify array bounds, to specify the size of a bit-field and as enumerator constants.

They may contain:

... but may not contain (except as an argument to the sizeof operator):

Constant expressions in #if and #elif statements

... are integral constant expressions, but may not contain:

Initializer constant expressions

... may contain any integer constant expression but can also include:

Index