12.4.1.2 C and C++ Constants
No value for GDBN allows you to express the constants of C and C++ in the
following ways:
-
Integer constants are a sequence of digits. Octal constants are
specified by a leading ‘0’ (i.e. zero), and hexadecimal constants
by a leading ‘0x’ or ‘0X’. Constants may also end with a letter
‘l’, specifying that the constant should be treated as a
long
value.
-
Floating point constants are a sequence of digits, followed by a decimal
point, followed by a sequence of digits, and optionally followed by an
exponent. An exponent is of the form:
‘e[[+]|-]nnn’, where nnn is another
sequence of digits. The ‘+’ is optional for positive exponents.
A floating-point constant may also end with a letter ‘f’ or
‘F’, specifying that the constant should be treated as being of
the
float
(as opposed to the default double
) type; or with
a letter ‘l’ or ‘L’, which specifies a long double
constant.
-
Enumerated constants consist of enumerated identifiers, or their
integral equivalents.
-
Character constants are a single character surrounded by single quotes
(
'
), or a number—the ordinal value of the corresponding character
(usually its ASCII value). Within quotes, the single character may
be represented by a letter or by escape sequences, which are of
the form ‘\nnn’, where nnn is the octal representation
of the character's ordinal value; or of the form ‘\x’, where
‘x’ is a predefined special character—for example,
‘\n’ for newline.
-
String constants are a sequence of character constants surrounded by
double quotes (
"
). Any valid character constant (as described
above) may appear. Double quotes within the string must be preceded by
a backslash, so for instance ‘"a\"b'c"’ is a string of five
characters.
-
Pointer constants are an integral value. You can also write pointers
to constants using the C operator ‘&’.
-
Array constants are comma-separated lists surrounded by braces ‘{’
and ‘}’; for example, ‘{1,2,3}’ is a three-element array of
integers, ‘{{1,2}, {3,4}, {5,6}}’ is a three-by-two array,
and ‘{&"hi", &"there", &"fred"}’ is a three-element array of pointers.