hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
 
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs
Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Texts as in (a) below.
 
(a) The FSF's Back-Cover Text is: "You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: C Constants</title>
 
<meta name="description" content="Debugging with GDB: C Constants">
<meta name="keywords" content="Debugging with GDB: C Constants">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="C.html#C" rel="up" title="C">
<link href="C-Plus-Plus-Expressions.html#C-Plus-Plus-Expressions" rel="next" title="C Plus Plus Expressions">
<link href="C-Operators.html#C-Operators" rel="previous" title="C Operators">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
 
 
</head>
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="C-Constants"></a>
<div class="header">
<p>
Next: <a href="C-Plus-Plus-Expressions.html#C-Plus-Plus-Expressions" accesskey="n" rel="next">C Plus Plus Expressions</a>, Previous: <a href="C-Operators.html#C-Operators" accesskey="p" rel="previous">C Operators</a>, Up: <a href="C.html#C" accesskey="u" rel="up">C</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="C-and-C_002b_002b-Constants"></a>
<h4 class="subsubsection">15.4.1.2 C and C<tt>++</tt> Constants</h4>
 
<a name="index-C-and-C_002b_002b-constants"></a>
 
<p><small>GDB</small> allows you to express the constants of C and C<tt>++</tt> in the
following ways:
</p>
<ul>
<li> Integer constants are a sequence of digits.  Octal constants are
specified by a leading &lsquo;<samp>0</samp>&rsquo; (i.e. zero), and hexadecimal constants
by a leading &lsquo;<samp>0x</samp>&rsquo; or &lsquo;<samp>0X</samp>&rsquo;.  Constants may also end with a letter
&lsquo;<samp>l</samp>&rsquo;, specifying that the constant should be treated as a
<code>long</code> value.
 
</li><li> 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:
&lsquo;<samp>e<span class="roman">[[</span>+<span class="roman">]|</span><span class="nolinebreak">-</span><span class="roman">]</span><var>nnn</var><!-- /@w --></samp>&rsquo;, where <var>nnn</var> is another
sequence of digits.  The &lsquo;<samp>+</samp>&rsquo; is optional for positive exponents.
A floating-point constant may also end with a letter &lsquo;<samp>f</samp>&rsquo; or
&lsquo;<samp>F</samp>&rsquo;, specifying that the constant should be treated as being of
the <code>float</code> (as opposed to the default <code>double</code>) type; or with
a letter &lsquo;<samp>l</samp>&rsquo; or &lsquo;<samp>L</samp>&rsquo;, which specifies a <code>long double</code>
constant.
 
</li><li> Enumerated constants consist of enumerated identifiers, or their
integral equivalents.
 
</li><li> Character constants are a single character surrounded by single quotes
(<code>'</code>), or a number&mdash;the ordinal value of the corresponding character
(usually its <small>ASCII</small> value).  Within quotes, the single character may
be represented by a letter or by <em>escape sequences</em>, which are of
the form &lsquo;<samp>\<var>nnn</var></samp>&rsquo;, where <var>nnn</var> is the octal representation
of the character&rsquo;s ordinal value; or of the form &lsquo;<samp>\<var>x</var></samp>&rsquo;, where
&lsquo;<samp><var>x</var></samp>&rsquo; is a predefined special character&mdash;for example,
&lsquo;<samp>\n</samp>&rsquo; for newline.
 
<p>Wide character constants can be written by prefixing a character
constant with &lsquo;<samp>L</samp>&rsquo;, as in C.  For example, &lsquo;<samp>L'x'</samp>&rsquo; is the wide
form of &lsquo;<samp>x</samp>&rsquo;.  The target wide character set is used when
computing the value of this constant (see <a href="Character-Sets.html#Character-Sets">Character Sets</a>).
</p>
</li><li> String constants are a sequence of character constants surrounded by
double quotes (<code>&quot;</code>).  Any valid character constant (as described
above) may appear.  Double quotes within the string must be preceded by
a backslash, so for instance &lsquo;<samp>&quot;a\&quot;b'c&quot;</samp>&rsquo; is a string of five
characters.
 
<p>Wide string constants can be written by prefixing a string constant
with &lsquo;<samp>L</samp>&rsquo;, as in C.  The target wide character set is used when
computing the value of this constant (see <a href="Character-Sets.html#Character-Sets">Character Sets</a>).
</p>
</li><li> Pointer constants are an integral value.  You can also write pointers
to constants using the C operator &lsquo;<samp>&amp;</samp>&rsquo;.
 
</li><li> Array constants are comma-separated lists surrounded by braces &lsquo;<samp>{</samp>&rsquo;
and &lsquo;<samp>}</samp>&rsquo;; for example, &lsquo;<samp>{1,2,3}</samp>&rsquo; is a three-element array of
integers, &lsquo;<samp>{{1,2}, {3,4}, {5,6}}</samp>&rsquo; is a three-by-two array,
and &lsquo;<samp>{&amp;&quot;hi&quot;, &amp;&quot;there&quot;, &amp;&quot;fred&quot;}</samp>&rsquo; is a three-element array of pointers.
</li></ul>
 
<hr>
<div class="header">
<p>
Next: <a href="C-Plus-Plus-Expressions.html#C-Plus-Plus-Expressions" accesskey="n" rel="next">C Plus Plus Expressions</a>, Previous: <a href="C-Operators.html#C-Operators" accesskey="p" rel="previous">C Operators</a>, Up: <a href="C.html#C" accesskey="u" rel="up">C</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
 
 
 
</body>
</html>