Next: C Plus Plus Expressions, Previous: C Operators, Up: C [Contents][Index]

`++`

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 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.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]