<h3><a name="3.1" href="#3.1">3.1</a></h3>
<p><!--para 1 -->
- access
+<b> access</b><br>
<execution-time action> to read or modify the value of an object
<p><!--para 2 -->
NOTE 1 Where only one of these two actions is meant, ''read'' or ''modify'' is used.
<h3><a name="3.2" href="#3.2">3.2</a></h3>
<p><!--para 1 -->
- alignment
+<b> alignment</b><br>
requirement that objects of a particular type be located on storage boundaries with
addresses that are particular multiples of a byte address
<h3><a name="3.3" href="#3.3">3.3</a></h3>
<p><!--para 1 -->
- argument
- actual argument
- actual parameter (deprecated)
+<b> argument</b><br>
+ actual argument<br>
+ actual parameter (deprecated)<br>
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
<h3><a name="3.4" href="#3.4">3.4</a></h3>
<p><!--para 1 -->
- behavior
+<b> behavior</b><br>
external appearance or action
<h4><a name="3.4.1" href="#3.4.1">3.4.1</a></h4>
<p><!--para 1 -->
- implementation-defined behavior
+<b> implementation-defined behavior</b><br>
unspecified behavior where each implementation documents how the choice is made
<p><!--para 2 -->
EXAMPLE An example of implementation-defined behavior is the propagation of the high-order bit
<h4><a name="3.4.2" href="#3.4.2">3.4.2</a></h4>
<p><!--para 1 -->
- locale-specific behavior
+<b> locale-specific behavior</b><br>
behavior that depends on local conventions of nationality, culture, and language that each
implementation documents
<!--page 16 -->
<h4><a name="3.4.3" href="#3.4.3">3.4.3</a></h4>
<p><!--para 1 -->
- undefined behavior
+<b> undefined behavior</b><br>
behavior, upon use of a nonportable or erroneous program construct or of erroneous data,
for which this International Standard imposes no requirements
<p><!--para 2 -->
<h4><a name="3.4.4" href="#3.4.4">3.4.4</a></h4>
<p><!--para 1 -->
- unspecified behavior
+<b> unspecified behavior</b><br>
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
<h3><a name="3.5" href="#3.5">3.5</a></h3>
<p><!--para 1 -->
- bit
+<b> bit</b><br>
unit of data storage in the execution environment large enough to hold an object that may
have one of two values
<p><!--para 2 -->
<h3><a name="3.6" href="#3.6">3.6</a></h3>
<p><!--para 1 -->
- byte
+<b> byte</b><br>
addressable unit of data storage large enough to hold any member of the basic character
set of the execution environment
<p><!--para 2 -->
<h3><a name="3.7" href="#3.7">3.7</a></h3>
<p><!--para 1 -->
- character
+<b> character</b><br>
<abstract> member of a set of elements used for the organization, control, or
representation of data
<h4><a name="3.7.1" href="#3.7.1">3.7.1</a></h4>
<p><!--para 1 -->
- character
+<b> character</b><br>
single-byte character
<C> bit representation that fits in a byte
<!--page 17 -->
<h4><a name="3.7.2" href="#3.7.2">3.7.2</a></h4>
<p><!--para 1 -->
- multibyte character
+<b> multibyte character</b><br>
sequence of one or more bytes representing a member of the extended character set of
either the source or the execution environment
<p><!--para 2 -->
<h4><a name="3.7.3" href="#3.7.3">3.7.3</a></h4>
<p><!--para 1 -->
- wide character
+<b> wide character</b><br>
bit representation that fits in an object of type wchar_t, capable of representing any
character in the current locale
<h3><a name="3.8" href="#3.8">3.8</a></h3>
<p><!--para 1 -->
- constraint
+<b> constraint</b><br>
restriction, either syntactic or semantic, by which the exposition of language elements is
to be interpreted
<h3><a name="3.9" href="#3.9">3.9</a></h3>
<p><!--para 1 -->
- correctly rounded result
+<b> correctly rounded result</b><br>
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
<h3><a name="3.10" href="#3.10">3.10</a></h3>
<p><!--para 1 -->
- diagnostic message
+<b> diagnostic message</b><br>
message belonging to an implementation-defined subset of the implementation's message
output
<h3><a name="3.11" href="#3.11">3.11</a></h3>
<p><!--para 1 -->
- forward reference
+<b> forward reference</b><br>
reference to a later subclause of this International Standard that contains additional
information relevant to this subclause
<h3><a name="3.12" href="#3.12">3.12</a></h3>
<p><!--para 1 -->
- implementation
+<b> implementation</b><br>
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
<h3><a name="3.13" href="#3.13">3.13</a></h3>
<p><!--para 1 -->
- implementation limit
+<b> implementation limit</b><br>
restriction imposed upon programs by the implementation
<h3><a name="3.14" href="#3.14">3.14</a></h3>
<p><!--para 1 -->
- object
+<b> object</b><br>
region of data storage in the execution environment, the contents of which can represent
values
<!--page 18 -->
<h3><a name="3.15" href="#3.15">3.15</a></h3>
<p><!--para 1 -->
- parameter
+<b> parameter</b><br>
formal parameter
formal argument (deprecated)
object declared as part of a function declaration or definition that acquires a value on
<h3><a name="3.16" href="#3.16">3.16</a></h3>
<p><!--para 1 -->
- recommended practice
+<b> recommended practice</b><br>
specification that is strongly recommended as being in keeping with the intent of the
standard, but that may be impractical for some implementations
<h3><a name="3.17" href="#3.17">3.17</a></h3>
<p><!--para 1 -->
- value
+<b> value</b><br>
precise meaning of the contents of an object when interpreted as having a specific type
<h4><a name="3.17.1" href="#3.17.1">3.17.1</a></h4>
<p><!--para 1 -->
- implementation-defined value
+<b> implementation-defined value</b><br>
unspecified value where each implementation documents how the choice is made
<h4><a name="3.17.2" href="#3.17.2">3.17.2</a></h4>
<p><!--para 1 -->
- indeterminate value
+<b> indeterminate value</b><br>
either an unspecified value or a trap representation
<h4><a name="3.17.3" href="#3.17.3">3.17.3</a></h4>
<p><!--para 1 -->
- unspecified value
+<b> unspecified value</b><br>
valid value of the relevant type where this International Standard imposes no
requirements on which value is chosen in any instance
<p><!--para 2 -->
<h3><a name="3.18" href="#3.18">3.18</a></h3>
<p><!--para 1 -->
- ??? x???
+<b> ??? x???</b><br>
ceiling of x: the least integer greater than or equal to x
<p><!--para 2 -->
EXAMPLE ???2.4??? is 3, ???-2.4??? is -2.
<h3><a name="3.19" href="#3.19">3.19</a></h3>
<p><!--para 1 -->
- ??? x???
+<b> ??? x???</b><br>
floor of x: the greatest integer less than or equal to x
<p><!--para 2 -->
EXAMPLE ???2.4??? is 2, ???-2.4??? is -3.
<p><!--para 2 -->
Alphabetic escape sequences representing nongraphic characters in the execution
character set are intended to produce actions on display devices as follows:
- \a (alert) Produces an audible or visible alert without changing the active position.
- \b (backspace) Moves the active position to the previous position on the current line. If
-<pre>
+<dl>
+<dt> \a <dd>(alert) Produces an audible or visible alert without changing the active position.
+<dt> \b <dd>(backspace) Moves the active position to the previous position on the current line. If
the active position is at the initial position of a line, the behavior of the display
- device is unspecified.</pre>
- \f ( form feed) Moves the active position to the initial position at the start of the next
-<pre>
- logical page.</pre>
- \n (new line) Moves the active position to the initial position of the next line.
- \r (carriage return) Moves the active position to the initial position of the current line.
- \t (horizontal tab) Moves the active position to the next horizontal tabulation position
-<pre>
+ device is unspecified.
+<dt> \f <dd>( form feed) Moves the active position to the initial position at the start of the next
+ logical page.
+<dt> \n <dd>(new line) Moves the active position to the initial position of the next line.
+<dt> \r <dd>(carriage return) Moves the active position to the initial position of the current line.
+<dt> \t <dd>(horizontal tab) Moves the active position to the next horizontal tabulation position
on the current line. If the active position is at or past the last defined horizontal
- tabulation position, the behavior of the display device is unspecified.</pre>
- \v (vertical tab) Moves the active position to the initial position of the next vertical
+ tabulation position, the behavior of the display device is unspecified.
+<dt> \v <dd>(vertical tab) Moves the active position to the initial position of the next vertical
<!--page 32 -->
-<p><!--para 3 -->
-<pre>
tabulation position. If the active position is at or past the last defined vertical
- tabulation position, the behavior of the display device is unspecified.</pre>
+ tabulation position, the behavior of the display device is unspecified.
+</dl>
+<p><!--para 3 -->
Each of these escape sequences shall produce a unique implementation-defined value
which can be stored in a single char object. The external representations in a text file
need not be identical to the internal representations, and are outside the scope of this
(absolute value) to those shown, with the same sign.
<ul>
<li> number of bits for smallest object that is not a bit-field (byte)
- CHAR_BIT 8
+<pre> CHAR_BIT 8</pre>
<li> minimum value for an object of type signed char
- SCHAR_MIN -127 // -(27 - 1)
+<pre> SCHAR_MIN -127 // -(2<sup>7</sup> - 1)</pre>
<li> maximum value for an object of type signed char
- SCHAR_MAX +127 // 27 - 1
+<pre> SCHAR_MAX +127 // 2<sup>7</sup> - 1</pre>
<li> maximum value for an object of type unsigned char
- UCHAR_MAX 255 // 28 - 1
+<pre> UCHAR_MAX 255 // 2<sup>8</sup> - 1</pre>
<li> minimum value for an object of type char
- CHAR_MIN see below
+<pre> CHAR_MIN see below</pre>
<li> maximum value for an object of type char
- CHAR_MAX see below
+<pre> CHAR_MAX see below</pre>
<li> maximum number of bytes in a multibyte character, for any supported locale
- MB_LEN_MAX 1
+<pre> MB_LEN_MAX 1</pre>
<li> minimum value for an object of type short int
- SHRT_MIN -32767 // -(215 - 1)
+<pre> SHRT_MIN -32767 // -(2<sup>15</sup> - 1)</pre>
<li> maximum value for an object of type short int
- SHRT_MAX +32767 // 215 - 1
+<pre> SHRT_MAX +32767 // 2<sup>15</sup> - 1</pre>
<li> maximum value for an object of type unsigned short int
- USHRT_MAX 65535 // 216 - 1
+<pre> USHRT_MAX 65535 // 2<sup>16</sup> - 1</pre>
<li> minimum value for an object of type int
- INT_MIN -32767 // -(215 - 1)
+<pre> INT_MIN -32767 // -(2<sup>15</sup> - 1)</pre>
<li> maximum value for an object of type int
- INT_MAX +32767 // 215 - 1
+<pre> INT_MAX +32767 // 2<sup>15</sup> - 1</pre>
<li> maximum value for an object of type unsigned int
- UINT_MAX 65535 // 216 - 1
+<pre> UINT_MAX 65535 // 2<sup>16</sup> - 1</pre>
<li> minimum value for an object of type long int
- LONG_MIN -2147483647 // -(231 - 1)
+<pre> LONG_MIN -2147483647 // -(2<sup>31</sup> - 1)</pre>
<li> maximum value for an object of type long int
- LONG_MAX +2147483647 // 231 - 1
+<pre> LONG_MAX +2147483647 // 2<sup>31</sup> - 1</pre>
<li> maximum value for an object of type unsigned long int
- ULONG_MAX 4294967295 // 232 - 1
+<pre> ULONG_MAX 4294967295 // 2<sup>32</sup> - 1</pre>
<!--page 35 -->
<li> minimum value for an object of type long long int
- LLONG_MIN -9223372036854775807 // -(263 - 1)
+<pre> LLONG_MIN -9223372036854775807 // -(2<sup>63</sup> - 1)</pre>
<li> maximum value for an object of type long long int
- LLONG_MAX +9223372036854775807 // 263 - 1
+<pre> LLONG_MAX +9223372036854775807 // 2<sup>63</sup> - 1</pre>
<li> maximum value for an object of type unsigned long long int
- ULLONG_MAX 18446744073709551615 // 264 - 1
+<pre> ULLONG_MAX 18446744073709551615 // 2<sup>64</sup> - 1</pre>
</ul>
<p><!--para 2 -->
If the value of an object of type char is treated as a signed integer when used in an
expression, the value of CHAR_MIN shall be the same as that of SCHAR_MIN and the
value of CHAR_MAX shall be the same as that of SCHAR_MAX. Otherwise, the value of
CHAR_MIN shall be 0 and the value of CHAR_MAX shall be the same as that of
- UCHAR_MAX.<sup><a href="#note15"><b>15)</b></a></sup> The value UCHAR_MAX shall equal 2CHAR_BIT - 1.
+ UCHAR_MAX.<sup><a href="#note15"><b>15)</b></a></sup> The value UCHAR_MAX shall equal 2<sup>CHAR_BIT</sup> - 1.
<p><b> Forward references</b>: representations of types (<a href="#6.2.6">6.2.6</a>), conditional inclusion (<a href="#6.10.1">6.10.1</a>).
<h6>footnotes</h6>