NAME
3 Terms, definitions, and symbols —
WG14 N1256, clause 3
3
For the purposes of this International Standard, the following definitions apply. Other terms are defined where they appear in italic type or on the left side of a syntax rule. Terms explicitly defined in this International Standard are not to be presumed to refer implicitly to similar terms defined elsewhere. Terms not defined in this International Standard are to be interpreted according to ISO/IEC 2382−1. Mathematical symbols not defined in this International Standard are to be interpreted according to ISO 31−11.
3.1
- access
- 〈execution-time action〉 to read or modify the value of an object
NOTE 1 Where only one of these two actions is meant, ‘‘read’’ or ‘‘modify’’ is used.
NOTE 2 ‘‘Modify’’ includes the case where the new value being stored is the same as the previous value.
NOTE 3 Expressions that are not evaluated do not access objects.
3.2
- alignment
- requirement that objects of a particular type be located on storage boundaries with addresses that are particular multiples of a byte address
3.3
- argument
- actual argument actual parameter (deprecated) expression in the comma-separated list bounded by the parentheses in a function call expression, or a sequence of preprocessing tokens in the comma-separated list bounded by the parentheses in a function-like macro invocation
3.4
- behavior
- external appearance or action
3.4.1
- implementation-defined behavior
- unspecified behavior where each implementation documents how the choice is made
EXAMPLE An example of implementation-defined behavior is the propagation of the high-order bit when a signed integer is shifted right.
3.4.2
- locale-specific behavior
- behavior that depends on local conventions of nationality, culture, and language that each implementation documents
EXAMPLE An example of locale-specific behavior is whether the islower function returns true for characters other than the 26 lowercase Latin letters.
3.4.3
- undefined behavior
- behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which this International Standard imposes no requirements
NOTE Possible undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or program execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message).
EXAMPLE An example of undefined behavior is the behavior on integer overflow.
3.4.4
- unspecified behavior
- use of an unspecified value, or other behavior where this International Standard provides two or more possibilities and imposes no further requirements on which is chosen in any instance
EXAMPLE An example of unspecified behavior is the order in which the arguments to a function are evaluated.
3.5
- bit
- unit of data storage in the execution environment large enough to hold an object that may have one of two values
NOTE It need not be possible to express the address of each individual bit of an object.
3.6
- byte
- addressable unit of data storage large enough to hold any member of the basic character set of the execution environment
NOTE 1 It is possible to express the address of each individual byte of an object uniquely.
NOTE 2 A byte is composed of a contiguous sequence of bits, the number of which is implementation-defined. The least significant bit is called the low-order bit; the most significant bit is called the high-order bit.
3.7
- character
- 〈abstract〉 member of a set of elements used for the organization, control, or representation of data
3.7.1
- character
- single-byte character 〈C〉 bit representation that fits in a byte
3.7.2
- multibyte character
- sequence of one or more bytes representing a member of the extended character set of either the source or the execution environment
NOTE The extended character set is a superset of the basic character set.
3.7.3
- wide character
- bit representation that fits in an object of type wchar_t, capable of representing any character in the current locale
3.8
- constraint
- restriction, either syntactic or semantic, by which the exposition of language elements is to be interpreted
3.9
- correctly rounded result
- representation in the result format that is nearest in value, subject to the current rounding mode, to what the result would be given unlimited range and precision
3.10
- diagnostic message
- message belonging to an implementation-defined subset of the implementation’s message output
3.11
- forward reference
- reference to a later subclause of this International Standard that contains additional information relevant to this subclause
3.12
- implementation
- particular set of software, running in a particular translation environment under particular control options, that performs translation of programs for, and supports execution of functions in, a particular execution environment
3.13
- implementation limit
- restriction imposed upon programs by the implementation
3.14
- object
- region of data storage in the execution environment, the contents of which can represent values
NOTE When referenced, an object may be interpreted as having a particular type; see 6.3.2.1.
3.15
- parameter
- formal parameter formal argument (deprecated) object declared as part of a function declaration or definition that acquires a value on entry to the function, or an identifier from the comma-separated list bounded by the parentheses immediately following the macro name in a function-like macro definition
3.16
- recommended practice
- specification that is strongly recommended as being in keeping with the intent of the standard, but that may be impractical for some implementations
3.17
- value
- precise meaning of the contents of an object when interpreted as having a specific type
3.17.1
- implementation-defined value
- unspecified value where each implementation documents how the choice is made
3.17.2
- indeterminate value
- either an unspecified value or a trap representation
3.17.3
- unspecified value
- valid value of the relevant type where this International Standard imposes no requirements on which value is chosen in any instance
NOTE An unspecified value cannot be a trap representation.
3.18
x ceiling of x: the least integer greater than or equal to x
EXAMPLE 2. 4 is 3, −2. 4 is −2.
3.19
x floor of x: the greatest integer less than or equal to x
EXAMPLE 2. 4 is 2, −2. 4 is −3.