Gdb/C-Constants
Next: C Plus Plus Expressions, Previous: C Operators, Up: C [Contents][Index]
15.4.1.2 C and C++
Constants
GDB 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 along
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
’, wherennn
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 thefloat
(as opposed to the defaultdouble
) type; or with a letter ‘l
’ or ‘L
’, which specifies along 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
’, wherennn
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.Wide character constants can be written by prefixing a character constant with ‘
L
’, as in C. For example, ‘L'x'
’ is the wide form of ‘x
’. The target wide character set is used when computing the value of this constant (see Character Sets).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.Wide string constants can be written by prefixing a string constant with ‘
L
’, as in C. The target wide character set is used when computing the value of this constant (see Character Sets).- 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.
Next: C Plus Plus Expressions, Previous: C Operators, Up: C [Contents][Index]