1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
---|
2 | <html>
|
---|
3 | <!-- Copyright (C) 2022 Richard Stallman and Free Software Foundation, Inc.
|
---|
4 |
|
---|
5 | (The work of Trevis Rothwell and Nelson Beebe has been assigned or
|
---|
6 | licensed to the FSF.)
|
---|
7 |
|
---|
8 | Permission is granted to copy, distribute and/or modify this document
|
---|
9 | under the terms of the GNU Free Documentation License, Version 1.3 or
|
---|
10 | any later version published by the Free Software Foundation; with the
|
---|
11 | Invariant Sections being "GNU General Public License," with the
|
---|
12 | Front-Cover Texts being "A GNU Manual," and with the Back-Cover
|
---|
13 | Texts as in (a) below. A copy of the license is included in the
|
---|
14 | section entitled "GNU Free Documentation License."
|
---|
15 |
|
---|
16 | (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
|
---|
17 | modify this GNU manual. Buying copies from the FSF supports it in
|
---|
18 | developing GNU and promoting software freedom." -->
|
---|
19 | <!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
|
---|
20 | <head>
|
---|
21 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
---|
22 | <title>Top (GNU C Language Manual)</title>
|
---|
23 |
|
---|
24 | <meta name="description" content="Top (GNU C Language Manual)">
|
---|
25 | <meta name="keywords" content="Top (GNU C Language Manual)">
|
---|
26 | <meta name="resource-type" content="document">
|
---|
27 | <meta name="distribution" content="global">
|
---|
28 | <meta name="Generator" content="makeinfo">
|
---|
29 | <link href="#Top" rel="start" title="Top">
|
---|
30 | <link href="Symbol-Index.html" rel="index" title="Symbol Index">
|
---|
31 | <link href="#SEC_Contents" rel="contents" title="Table of Contents">
|
---|
32 | <link href="The-First-Example.html" rel="next" title="The First Example">
|
---|
33 | <style type="text/css">
|
---|
34 | <!--
|
---|
35 | a.summary-letter {text-decoration: none}
|
---|
36 | blockquote.indentedblock {margin-right: 0em}
|
---|
37 | div.display {margin-left: 3.2em}
|
---|
38 | div.example {margin-left: 3.2em}
|
---|
39 | div.lisp {margin-left: 3.2em}
|
---|
40 | kbd {font-style: oblique}
|
---|
41 | pre.display {font-family: inherit}
|
---|
42 | pre.format {font-family: inherit}
|
---|
43 | pre.menu-comment {font-family: serif}
|
---|
44 | pre.menu-preformatted {font-family: serif}
|
---|
45 | span.nolinebreak {white-space: nowrap}
|
---|
46 | span.roman {font-family: initial; font-weight: normal}
|
---|
47 | span.sansserif {font-family: sans-serif; font-weight: normal}
|
---|
48 | ul.no-bullet {list-style: none}
|
---|
49 | -->
|
---|
50 | </style>
|
---|
51 |
|
---|
52 |
|
---|
53 | </head>
|
---|
54 |
|
---|
55 | <body lang="en">
|
---|
56 | <h1 class="settitle" align="center">GNU C Language Manual</h1>
|
---|
57 | <p align="center">Also available in <a href="c.pdf">PDF</a></p>
|
---|
58 |
|
---|
59 |
|
---|
60 |
|
---|
61 |
|
---|
62 |
|
---|
63 |
|
---|
64 | <span id="SEC_Overview"></span>
|
---|
65 | <h2 class="shortcontents-heading">Short Table of Contents</h2>
|
---|
66 |
|
---|
67 | <div class="shortcontents">
|
---|
68 | <ul class="no-bullet">
|
---|
69 | <li><a id="stoc-The-First-Example-1" href="#toc-The-First-Example-1">1 The First Example</a></li>
|
---|
70 | <li><a id="stoc-A-Complete-Program" href="#toc-A-Complete-Program">2 A Complete Program</a></li>
|
---|
71 | <li><a id="stoc-Storage-and-Data" href="#toc-Storage-and-Data">3 Storage and Data</a></li>
|
---|
72 | <li><a id="stoc-Beyond-Integers-1" href="#toc-Beyond-Integers-1">4 Beyond Integers</a></li>
|
---|
73 | <li><a id="stoc-Lexical-Syntax-1" href="#toc-Lexical-Syntax-1">5 Lexical Syntax</a></li>
|
---|
74 | <li><a id="stoc-Arithmetic-1" href="#toc-Arithmetic-1">6 Arithmetic</a></li>
|
---|
75 | <li><a id="stoc-Assignment-Expressions-1" href="#toc-Assignment-Expressions-1">7 Assignment Expressions</a></li>
|
---|
76 | <li><a id="stoc-Execution-Control-Expressions-1" href="#toc-Execution-Control-Expressions-1">8 Execution Control Expressions</a></li>
|
---|
77 | <li><a id="stoc-Binary-Operator-Grammar-1" href="#toc-Binary-Operator-Grammar-1">9 Binary Operator Grammar</a></li>
|
---|
78 | <li><a id="stoc-Order-of-Execution-1" href="#toc-Order-of-Execution-1">10 Order of Execution</a></li>
|
---|
79 | <li><a id="stoc-Primitive-Data-Types" href="#toc-Primitive-Data-Types">11 Primitive Data Types</a></li>
|
---|
80 | <li><a id="stoc-Constants-1" href="#toc-Constants-1">12 Constants</a></li>
|
---|
81 | <li><a id="stoc-Type-Size-1" href="#toc-Type-Size-1">13 Type Size</a></li>
|
---|
82 | <li><a id="stoc-Pointers-1" href="#toc-Pointers-1">14 Pointers</a></li>
|
---|
83 | <li><a id="stoc-Structures-1" href="#toc-Structures-1">15 Structures</a></li>
|
---|
84 | <li><a id="stoc-Arrays-1" href="#toc-Arrays-1">16 Arrays</a></li>
|
---|
85 | <li><a id="stoc-Enumeration-Types-1" href="#toc-Enumeration-Types-1">17 Enumeration Types</a></li>
|
---|
86 | <li><a id="stoc-Defining-Typedef-Names-1" href="#toc-Defining-Typedef-Names-1">18 Defining Typedef Names</a></li>
|
---|
87 | <li><a id="stoc-Statements-1" href="#toc-Statements-1">19 Statements</a></li>
|
---|
88 | <li><a id="stoc-Variables-1" href="#toc-Variables-1">20 Variables</a></li>
|
---|
89 | <li><a id="stoc-Type-Qualifiers-1" href="#toc-Type-Qualifiers-1">21 Type Qualifiers</a></li>
|
---|
90 | <li><a id="stoc-Functions-1" href="#toc-Functions-1">22 Functions</a></li>
|
---|
91 | <li><a id="stoc-Compatible-Types-1" href="#toc-Compatible-Types-1">23 Compatible Types</a></li>
|
---|
92 | <li><a id="stoc-Type-Conversions-1" href="#toc-Type-Conversions-1">24 Type Conversions</a></li>
|
---|
93 | <li><a id="stoc-Scope-1" href="#toc-Scope-1">25 Scope</a></li>
|
---|
94 | <li><a id="stoc-Preprocessing-1" href="#toc-Preprocessing-1">26 Preprocessing</a></li>
|
---|
95 | <li><a id="stoc-Integers-in-Depth-1" href="#toc-Integers-in-Depth-1">27 Integers in Depth</a></li>
|
---|
96 | <li><a id="stoc-Floating-Point-in-Depth-1" href="#toc-Floating-Point-in-Depth-1">28 Floating Point in Depth</a></li>
|
---|
97 | <li><a id="stoc-Compilation-1" href="#toc-Compilation-1">29 Compilation</a></li>
|
---|
98 | <li><a id="stoc-Directing-Compilation-1" href="#toc-Directing-Compilation-1">30 Directing Compilation</a></li>
|
---|
99 | <li><a id="stoc-Type-Alignment-1" href="#toc-Type-Alignment-1">Appendix A Type Alignment</a></li>
|
---|
100 | <li><a id="stoc-Aliasing-1" href="#toc-Aliasing-1">Appendix B Aliasing</a></li>
|
---|
101 | <li><a id="stoc-Digraphs-1" href="#toc-Digraphs-1">Appendix C Digraphs</a></li>
|
---|
102 | <li><a id="stoc-Attributes-in-Declarations" href="#toc-Attributes-in-Declarations">Appendix D Attributes in Declarations</a></li>
|
---|
103 | <li><a id="stoc-Signals-1" href="#toc-Signals-1">Appendix E Signals</a></li>
|
---|
104 | <li><a id="stoc-GNU-Free-Documentation-License-1" href="#toc-GNU-Free-Documentation-License-1">Appendix F GNU Free Documentation License</a></li>
|
---|
105 | <li><a id="stoc-Index-of-Symbols-and-Keywords" href="#toc-Index-of-Symbols-and-Keywords" rel="index">Index of Symbols and Keywords</a></li>
|
---|
106 | <li><a id="stoc-Concept-Index-1" href="#toc-Concept-Index-1" rel="index">Concept Index</a></li>
|
---|
107 | </ul>
|
---|
108 | </div>
|
---|
109 |
|
---|
110 | <span id="SEC_Contents"></span>
|
---|
111 | <h2 class="contents-heading">Table of Contents</h2>
|
---|
112 |
|
---|
113 | <div class="contents">
|
---|
114 |
|
---|
115 | <ul class="no-bullet">
|
---|
116 | <li><a id="toc-The-First-Example-1" href="The-First-Example.html#The-First-Example">1 The First Example</a>
|
---|
117 | <ul class="no-bullet">
|
---|
118 | <li><a id="toc-Example_003a-Recursive-Fibonacci" href="Recursive-Fibonacci.html#Recursive-Fibonacci">1.1 Example: Recursive Fibonacci</a>
|
---|
119 | <ul class="no-bullet">
|
---|
120 | <li><a id="toc-Function-Header-1" href="Function-Header.html#Function-Header">1.1.1 Function Header</a></li>
|
---|
121 | <li><a id="toc-Function-Body-1" href="Function-Body.html#Function-Body">1.1.2 Function Body</a></li>
|
---|
122 | </ul></li>
|
---|
123 | <li><a id="toc-The-Stack_002c-And-Stack-Overflow" href="Stack.html#Stack">1.2 The Stack, And Stack Overflow</a></li>
|
---|
124 | <li><a id="toc-Example_003a-Iterative-Fibonacci" href="Iterative-Fibonacci.html#Iterative-Fibonacci">1.3 Example: Iterative Fibonacci</a></li>
|
---|
125 | </ul></li>
|
---|
126 | <li><a id="toc-A-Complete-Program" href="Complete-Program.html#Complete-Program">2 A Complete Program</a>
|
---|
127 | <ul class="no-bullet">
|
---|
128 | <li><a id="toc-Complete-Program-Example" href="Complete-Example.html#Complete-Example">2.1 Complete Program Example</a></li>
|
---|
129 | <li><a id="toc-Complete-Program-Explanation" href="Complete-Explanation.html#Complete-Explanation">2.2 Complete Program Explanation</a></li>
|
---|
130 | <li><a id="toc-Complete-Program_002c-Line-by-Line" href="Complete-Line_002dby_002dLine.html#Complete-Line_002dby_002dLine">2.3 Complete Program, Line by Line</a></li>
|
---|
131 | <li><a id="toc-Compiling-the-Example-Program" href="Compile-Example.html#Compile-Example">2.4 Compiling the Example Program</a></li>
|
---|
132 | </ul></li>
|
---|
133 | <li><a id="toc-Storage-and-Data" href="Storage.html#Storage">3 Storage and Data</a></li>
|
---|
134 | <li><a id="toc-Beyond-Integers-1" href="Beyond-Integers.html#Beyond-Integers">4 Beyond Integers</a>
|
---|
135 | <ul class="no-bullet">
|
---|
136 | <li><a id="toc-An-Example-with-Non_002dInteger-Numbers" href="Float-Example.html#Float-Example">4.1 An Example with Non-Integer Numbers</a></li>
|
---|
137 | <li><a id="toc-An-Example-with-Arrays" href="Array-Example.html#Array-Example">4.2 An Example with Arrays</a></li>
|
---|
138 | <li><a id="toc-Calling-the-Array-Example" href="Array-Example-Call.html#Array-Example-Call">4.3 Calling the Array Example</a></li>
|
---|
139 | <li><a id="toc-Variations-for-Array-Example" href="Array-Example-Variations.html#Array-Example-Variations">4.4 Variations for Array Example</a></li>
|
---|
140 | </ul></li>
|
---|
141 | <li><a id="toc-Lexical-Syntax-1" href="Lexical-Syntax.html#Lexical-Syntax">5 Lexical Syntax</a>
|
---|
142 | <ul class="no-bullet">
|
---|
143 | <li><a id="toc-Write-Programs-in-English_0021" href="English.html#English">5.1 Write Programs in English!</a></li>
|
---|
144 | <li><a id="toc-Characters-1" href="Characters.html#Characters">5.2 Characters</a></li>
|
---|
145 | <li><a id="toc-Whitespace-1" href="Whitespace.html#Whitespace">5.3 Whitespace</a></li>
|
---|
146 | <li><a id="toc-Comments-1" href="Comments.html#Comments">5.4 Comments</a></li>
|
---|
147 | <li><a id="toc-Identifiers-1" href="Identifiers.html#Identifiers">5.5 Identifiers</a></li>
|
---|
148 | <li><a id="toc-Operators-and-Punctuation" href="Operators_002fPunctuation.html#Operators_002fPunctuation">5.6 Operators and Punctuation</a></li>
|
---|
149 | <li><a id="toc-Line-Continuation-1" href="Line-Continuation.html#Line-Continuation">5.7 Line Continuation</a></li>
|
---|
150 | </ul></li>
|
---|
151 | <li><a id="toc-Arithmetic-1" href="Arithmetic.html#Arithmetic">6 Arithmetic</a>
|
---|
152 | <ul class="no-bullet">
|
---|
153 | <li><a id="toc-Basic-Arithmetic-1" href="Basic-Arithmetic.html#Basic-Arithmetic">6.1 Basic Arithmetic</a></li>
|
---|
154 | <li><a id="toc-Integer-Arithmetic-1" href="Integer-Arithmetic.html#Integer-Arithmetic">6.2 Integer Arithmetic</a></li>
|
---|
155 | <li><a id="toc-Integer-Overflow-1" href="Integer-Overflow.html#Integer-Overflow">6.3 Integer Overflow</a>
|
---|
156 | <ul class="no-bullet">
|
---|
157 | <li><a id="toc-Overflow-with-Unsigned-Integers" href="Unsigned-Overflow.html#Unsigned-Overflow">6.3.1 Overflow with Unsigned Integers</a></li>
|
---|
158 | <li><a id="toc-Overflow-with-Signed-Integers" href="Signed-Overflow.html#Signed-Overflow">6.3.2 Overflow with Signed Integers</a></li>
|
---|
159 | </ul></li>
|
---|
160 | <li><a id="toc-Mixed_002dMode-Arithmetic" href="Mixed-Mode.html#Mixed-Mode">6.4 Mixed-Mode Arithmetic</a></li>
|
---|
161 | <li><a id="toc-Division-and-Remainder-1" href="Division-and-Remainder.html#Division-and-Remainder">6.5 Division and Remainder</a></li>
|
---|
162 | <li><a id="toc-Numeric-Comparisons-1" href="Numeric-Comparisons.html#Numeric-Comparisons">6.6 Numeric Comparisons</a></li>
|
---|
163 | <li><a id="toc-Shift-Operations-1" href="Shift-Operations.html#Shift-Operations">6.7 Shift Operations</a>
|
---|
164 | <ul class="no-bullet">
|
---|
165 | <li><a id="toc-Shifting-Makes-New-Bits" href="Bits-Shifted-In.html#Bits-Shifted-In">6.7.1 Shifting Makes New Bits</a></li>
|
---|
166 | <li><a id="toc-Caveats-for-Shift-Operations" href="Shift-Caveats.html#Shift-Caveats">6.7.2 Caveats for Shift Operations</a></li>
|
---|
167 | <li><a id="toc-Shift-Hacks-1" href="Shift-Hacks.html#Shift-Hacks">6.7.3 Shift Hacks</a></li>
|
---|
168 | </ul></li>
|
---|
169 | <li><a id="toc-Bitwise-Operations-1" href="Bitwise-Operations.html#Bitwise-Operations">6.8 Bitwise Operations</a></li>
|
---|
170 | </ul></li>
|
---|
171 | <li><a id="toc-Assignment-Expressions-1" href="Assignment-Expressions.html#Assignment-Expressions">7 Assignment Expressions</a>
|
---|
172 | <ul class="no-bullet">
|
---|
173 | <li><a id="toc-Simple-Assignment-1" href="Simple-Assignment.html#Simple-Assignment">7.1 Simple Assignment</a></li>
|
---|
174 | <li><a id="toc-Lvalues-1" href="Lvalues.html#Lvalues">7.2 Lvalues</a></li>
|
---|
175 | <li><a id="toc-Modifying-Assignment-1" href="Modifying-Assignment.html#Modifying-Assignment">7.3 Modifying Assignment</a></li>
|
---|
176 | <li><a id="toc-Increment-and-Decrement-Operators" href="Increment_002fDecrement.html#Increment_002fDecrement">7.4 Increment and Decrement Operators</a></li>
|
---|
177 | <li><a id="toc-Postincrement-and-Postdecrement" href="Postincrement_002fPostdecrement.html#Postincrement_002fPostdecrement">7.5 Postincrement and Postdecrement</a></li>
|
---|
178 | <li><a id="toc-Pitfall_003a-Assignment-in-Subexpressions" href="Assignment-in-Subexpressions.html#Assignment-in-Subexpressions">7.6 Pitfall: Assignment in Subexpressions</a></li>
|
---|
179 | <li><a id="toc-Write-Assignments-in-Separate-Statements" href="Write-Assignments-Separately.html#Write-Assignments-Separately">7.7 Write Assignments in Separate Statements</a></li>
|
---|
180 | </ul></li>
|
---|
181 | <li><a id="toc-Execution-Control-Expressions-1" href="Execution-Control-Expressions.html#Execution-Control-Expressions">8 Execution Control Expressions</a>
|
---|
182 | <ul class="no-bullet">
|
---|
183 | <li><a id="toc-Logical-Operators-1" href="Logical-Operators.html#Logical-Operators">8.1 Logical Operators</a></li>
|
---|
184 | <li><a id="toc-Logical-Operators-and-Comparisons" href="Logicals-and-Comparison.html#Logicals-and-Comparison">8.2 Logical Operators and Comparisons</a></li>
|
---|
185 | <li><a id="toc-Logical-Operators-and-Assignments" href="Logicals-and-Assignments.html#Logicals-and-Assignments">8.3 Logical Operators and Assignments</a></li>
|
---|
186 | <li><a id="toc-Conditional-Expression-1" href="Conditional-Expression.html#Conditional-Expression">8.4 Conditional Expression</a>
|
---|
187 | <ul class="no-bullet">
|
---|
188 | <li><a id="toc-Rules-for-Conditional-Operator" href="Conditional-Rules.html#Conditional-Rules">8.4.1 Rules for Conditional Operator</a></li>
|
---|
189 | <li><a id="toc-Conditional-Operator-Branches" href="Conditional-Branches.html#Conditional-Branches">8.4.2 Conditional Operator Branches</a></li>
|
---|
190 | </ul></li>
|
---|
191 | <li><a id="toc-Comma-Operator-1" href="Comma-Operator.html#Comma-Operator">8.5 Comma Operator</a>
|
---|
192 | <ul class="no-bullet">
|
---|
193 | <li><a id="toc-The-Uses-of-the-Comma-Operator" href="Uses-of-Comma.html#Uses-of-Comma">8.5.1 The Uses of the Comma Operator</a></li>
|
---|
194 | <li><a id="toc-Clean-Use-of-the-Comma-Operator" href="Clean-Comma.html#Clean-Comma">8.5.2 Clean Use of the Comma Operator</a></li>
|
---|
195 | <li><a id="toc-When-Not-to-Use-the-Comma-Operator" href="Avoid-Comma.html#Avoid-Comma">8.5.3 When Not to Use the Comma Operator</a></li>
|
---|
196 | </ul></li>
|
---|
197 | </ul></li>
|
---|
198 | <li><a id="toc-Binary-Operator-Grammar-1" href="Binary-Operator-Grammar.html#Binary-Operator-Grammar">9 Binary Operator Grammar</a></li>
|
---|
199 | <li><a id="toc-Order-of-Execution-1" href="Order-of-Execution.html#Order-of-Execution">10 Order of Execution</a>
|
---|
200 | <ul class="no-bullet">
|
---|
201 | <li><a id="toc-Reordering-of-Operands-1" href="Reordering-of-Operands.html#Reordering-of-Operands">10.1 Reordering of Operands</a></li>
|
---|
202 | <li><a id="toc-Associativity-and-Ordering-1" href="Associativity-and-Ordering.html#Associativity-and-Ordering">10.2 Associativity and Ordering</a></li>
|
---|
203 | <li><a id="toc-Sequence-Points-1" href="Sequence-Points.html#Sequence-Points">10.3 Sequence Points</a></li>
|
---|
204 | <li><a id="toc-Postincrement-and-Ordering-1" href="Postincrement-and-Ordering.html#Postincrement-and-Ordering">10.4 Postincrement and Ordering</a></li>
|
---|
205 | <li><a id="toc-Ordering-of-Operands-1" href="Ordering-of-Operands.html#Ordering-of-Operands">10.5 Ordering of Operands</a></li>
|
---|
206 | <li><a id="toc-Optimization-and-Ordering-1" href="Optimization-and-Ordering.html#Optimization-and-Ordering">10.6 Optimization and Ordering</a></li>
|
---|
207 | </ul></li>
|
---|
208 | <li><a id="toc-Primitive-Data-Types" href="Primitive-Types.html#Primitive-Types">11 Primitive Data Types</a>
|
---|
209 | <ul class="no-bullet">
|
---|
210 | <li><a id="toc-Integer-Data-Types" href="Integer-Types.html#Integer-Types">11.1 Integer Data Types</a>
|
---|
211 | <ul class="no-bullet">
|
---|
212 | <li><a id="toc-Basic-Integers-1" href="Basic-Integers.html#Basic-Integers">11.1.1 Basic Integers</a></li>
|
---|
213 | <li><a id="toc-Signed-and-Unsigned-Types-1" href="Signed-and-Unsigned-Types.html#Signed-and-Unsigned-Types">11.1.2 Signed and Unsigned Types</a></li>
|
---|
214 | <li><a id="toc-Narrow-Integers-1" href="Narrow-Integers.html#Narrow-Integers">11.1.3 Narrow Integers</a></li>
|
---|
215 | <li><a id="toc-Conversion-among-Integer-Types" href="Integer-Conversion.html#Integer-Conversion">11.1.4 Conversion among Integer Types</a></li>
|
---|
216 | <li><a id="toc-Boolean-Type-1" href="Boolean-Type.html#Boolean-Type">11.1.5 Boolean Type</a></li>
|
---|
217 | <li><a id="toc-Integer-Variations-1" href="Integer-Variations.html#Integer-Variations">11.1.6 Integer Variations</a></li>
|
---|
218 | </ul></li>
|
---|
219 | <li><a id="toc-Floating_002dPoint-Data-Types-1" href="Floating_002dPoint-Data-Types.html#Floating_002dPoint-Data-Types">11.2 Floating-Point Data Types</a></li>
|
---|
220 | <li><a id="toc-Complex-Data-Types-1" href="Complex-Data-Types.html#Complex-Data-Types">11.3 Complex Data Types</a></li>
|
---|
221 | <li><a id="toc-The-Void-Type-1" href="The-Void-Type.html#The-Void-Type">11.4 The Void Type</a></li>
|
---|
222 | <li><a id="toc-Other-Data-Types-1" href="Other-Data-Types.html#Other-Data-Types">11.5 Other Data Types</a></li>
|
---|
223 | <li><a id="toc-Type-Designators-1" href="Type-Designators.html#Type-Designators">11.6 Type Designators</a></li>
|
---|
224 | </ul></li>
|
---|
225 | <li><a id="toc-Constants-1" href="Constants.html#Constants">12 Constants</a>
|
---|
226 | <ul class="no-bullet">
|
---|
227 | <li><a id="toc-Integer-Constants-1" href="Integer-Constants.html#Integer-Constants">12.1 Integer Constants</a></li>
|
---|
228 | <li><a id="toc-Integer-Constant-Data-Types" href="Integer-Const-Type.html#Integer-Const-Type">12.2 Integer Constant Data Types</a></li>
|
---|
229 | <li><a id="toc-Floating_002dPoint-Constants" href="Floating-Constants.html#Floating-Constants">12.3 Floating-Point Constants</a></li>
|
---|
230 | <li><a id="toc-Imaginary-Constants-1" href="Imaginary-Constants.html#Imaginary-Constants">12.4 Imaginary Constants</a></li>
|
---|
231 | <li><a id="toc-Invalid-Numbers-1" href="Invalid-Numbers.html#Invalid-Numbers">12.5 Invalid Numbers</a></li>
|
---|
232 | <li><a id="toc-Character-Constants-1" href="Character-Constants.html#Character-Constants">12.6 Character Constants</a></li>
|
---|
233 | <li><a id="toc-String-Constants-1" href="String-Constants.html#String-Constants">12.7 String Constants</a></li>
|
---|
234 | <li><a id="toc-UTF_002d8-String-Constants-1" href="UTF_002d8-String-Constants.html#UTF_002d8-String-Constants">12.8 UTF-8 String Constants</a></li>
|
---|
235 | <li><a id="toc-Unicode-Character-Codes-1" href="Unicode-Character-Codes.html#Unicode-Character-Codes">12.9 Unicode Character Codes</a></li>
|
---|
236 | <li><a id="toc-Wide-Character-Constants-1" href="Wide-Character-Constants.html#Wide-Character-Constants">12.10 Wide Character Constants</a></li>
|
---|
237 | <li><a id="toc-Wide-String-Constants-1" href="Wide-String-Constants.html#Wide-String-Constants">12.11 Wide String Constants</a></li>
|
---|
238 | </ul></li>
|
---|
239 | <li><a id="toc-Type-Size-1" href="Type-Size.html#Type-Size">13 Type Size</a></li>
|
---|
240 | <li><a id="toc-Pointers-1" href="Pointers.html#Pointers">14 Pointers</a>
|
---|
241 | <ul class="no-bullet">
|
---|
242 | <li><a id="toc-Address-of-Data-1" href="Address-of-Data.html#Address-of-Data">14.1 Address of Data</a></li>
|
---|
243 | <li><a id="toc-Pointer-Types-1" href="Pointer-Types.html#Pointer-Types">14.2 Pointer Types</a></li>
|
---|
244 | <li><a id="toc-Pointer_002dVariable-Declarations" href="Pointer-Declarations.html#Pointer-Declarations">14.3 Pointer-Variable Declarations</a></li>
|
---|
245 | <li><a id="toc-Pointer_002dType-Designators" href="Pointer-Type-Designators.html#Pointer-Type-Designators">14.4 Pointer-Type Designators</a></li>
|
---|
246 | <li><a id="toc-Dereferencing-Pointers" href="Pointer-Dereference.html#Pointer-Dereference">14.5 Dereferencing Pointers</a></li>
|
---|
247 | <li><a id="toc-Null-Pointers-1" href="Null-Pointers.html#Null-Pointers">14.6 Null Pointers</a></li>
|
---|
248 | <li><a id="toc-Dereferencing-Null-or-Invalid-Pointers" href="Invalid-Dereference.html#Invalid-Dereference">14.7 Dereferencing Null or Invalid Pointers</a></li>
|
---|
249 | <li><a id="toc-Void-Pointers-1" href="Void-Pointers.html#Void-Pointers">14.8 Void Pointers</a></li>
|
---|
250 | <li><a id="toc-Pointer-Comparison-1" href="Pointer-Comparison.html#Pointer-Comparison">14.9 Pointer Comparison</a></li>
|
---|
251 | <li><a id="toc-Pointer-Arithmetic-1" href="Pointer-Arithmetic.html#Pointer-Arithmetic">14.10 Pointer Arithmetic</a></li>
|
---|
252 | <li><a id="toc-Pointers-and-Arrays-1" href="Pointers-and-Arrays.html#Pointers-and-Arrays">14.11 Pointers and Arrays</a></li>
|
---|
253 | <li><a id="toc-Pointer-Arithmetic-at-Low-Level" href="Pointer-Arithmetic-Low-Level.html#Pointer-Arithmetic-Low-Level">14.12 Pointer Arithmetic at Low Level</a></li>
|
---|
254 | <li><a id="toc-Pointer-Increment-and-Decrement" href="Pointer-Increment_002fDecrement.html#Pointer-Increment_002fDecrement">14.13 Pointer Increment and Decrement</a></li>
|
---|
255 | <li><a id="toc-Drawbacks-of-Pointer-Arithmetic" href="Pointer-Arithmetic-Drawbacks.html#Pointer-Arithmetic-Drawbacks">14.14 Drawbacks of Pointer Arithmetic</a></li>
|
---|
256 | <li><a id="toc-Pointer_002dInteger-Conversion-1" href="Pointer_002dInteger-Conversion.html#Pointer_002dInteger-Conversion">14.15 Pointer-Integer Conversion</a></li>
|
---|
257 | <li><a id="toc-Printing-Pointers-1" href="Printing-Pointers.html#Printing-Pointers">14.16 Printing Pointers</a></li>
|
---|
258 | </ul></li>
|
---|
259 | <li><a id="toc-Structures-1" href="Structures.html#Structures">15 Structures</a>
|
---|
260 | <ul class="no-bullet">
|
---|
261 | <li><a id="toc-Referencing-Structure-Fields" href="Referencing-Fields.html#Referencing-Fields">15.1 Referencing Structure Fields</a></li>
|
---|
262 | <li><a id="toc-Dynamic-Memory-Allocation-1" href="Dynamic-Memory-Allocation.html#Dynamic-Memory-Allocation">15.2 Dynamic Memory Allocation</a></li>
|
---|
263 | <li><a id="toc-Field-Offset-1" href="Field-Offset.html#Field-Offset">15.3 Field Offset</a></li>
|
---|
264 | <li><a id="toc-Structure-Layout-1" href="Structure-Layout.html#Structure-Layout">15.4 Structure Layout</a></li>
|
---|
265 | <li><a id="toc-Packed-Structures-1" href="Packed-Structures.html#Packed-Structures">15.5 Packed Structures</a></li>
|
---|
266 | <li><a id="toc-Bit-Fields-1" href="Bit-Fields.html#Bit-Fields">15.6 Bit Fields</a></li>
|
---|
267 | <li><a id="toc-Bit-Field-Packing-1" href="Bit-Field-Packing.html#Bit-Field-Packing">15.7 Bit Field Packing</a></li>
|
---|
268 | <li><a id="toc-const-Fields-1" href="const-Fields.html#const-Fields">15.8 <code>const</code> Fields</a></li>
|
---|
269 | <li><a id="toc-Arrays-of-Length-Zero" href="Zero-Length.html#Zero-Length">15.9 Arrays of Length Zero</a></li>
|
---|
270 | <li><a id="toc-Flexible-Array-Fields-1" href="Flexible-Array-Fields.html#Flexible-Array-Fields">15.10 Flexible Array Fields</a></li>
|
---|
271 | <li><a id="toc-Overlaying-Different-Structures" href="Overlaying-Structures.html#Overlaying-Structures">15.11 Overlaying Different Structures</a></li>
|
---|
272 | <li><a id="toc-Structure-Assignment-1" href="Structure-Assignment.html#Structure-Assignment">15.12 Structure Assignment</a></li>
|
---|
273 | <li><a id="toc-Unions-1" href="Unions.html#Unions">15.13 Unions</a></li>
|
---|
274 | <li><a id="toc-Packing-With-Unions-1" href="Packing-With-Unions.html#Packing-With-Unions">15.14 Packing With Unions</a></li>
|
---|
275 | <li><a id="toc-Cast-to-a-Union-Type" href="Cast-to-Union.html#Cast-to-Union">15.15 Cast to a Union Type</a></li>
|
---|
276 | <li><a id="toc-Structure-Constructors-1" href="Structure-Constructors.html#Structure-Constructors">15.16 Structure Constructors</a></li>
|
---|
277 | <li><a id="toc-Unnamed-Types-as-Fields-1" href="Unnamed-Types-as-Fields.html#Unnamed-Types-as-Fields">15.17 Unnamed Types as Fields</a></li>
|
---|
278 | <li><a id="toc-Incomplete-Types-1" href="Incomplete-Types.html#Incomplete-Types">15.18 Incomplete Types</a></li>
|
---|
279 | <li><a id="toc-Intertwined-Incomplete-Types-1" href="Intertwined-Incomplete-Types.html#Intertwined-Incomplete-Types">15.19 Intertwined Incomplete Types</a></li>
|
---|
280 | <li><a id="toc-Type-Tags-1" href="Type-Tags.html#Type-Tags">15.20 Type Tags</a></li>
|
---|
281 | </ul></li>
|
---|
282 | <li><a id="toc-Arrays-1" href="Arrays.html#Arrays">16 Arrays</a>
|
---|
283 | <ul class="no-bullet">
|
---|
284 | <li><a id="toc-Accessing-Array-Elements-1" href="Accessing-Array-Elements.html#Accessing-Array-Elements">16.1 Accessing Array Elements</a></li>
|
---|
285 | <li><a id="toc-Declaring-an-Array-1" href="Declaring-an-Array.html#Declaring-an-Array">16.2 Declaring an Array</a></li>
|
---|
286 | <li><a id="toc-Strings-1" href="Strings.html#Strings">16.3 Strings</a></li>
|
---|
287 | <li><a id="toc-Array-Type-Designators-1" href="Array-Type-Designators.html#Array-Type-Designators">16.4 Array Type Designators</a></li>
|
---|
288 | <li><a id="toc-Incomplete-Array-Types-1" href="Incomplete-Array-Types.html#Incomplete-Array-Types">16.5 Incomplete Array Types</a></li>
|
---|
289 | <li><a id="toc-Limitations-of-C-Arrays-1" href="Limitations-of-C-Arrays.html#Limitations-of-C-Arrays">16.6 Limitations of C Arrays</a></li>
|
---|
290 | <li><a id="toc-Multidimensional-Arrays-1" href="Multidimensional-Arrays.html#Multidimensional-Arrays">16.7 Multidimensional Arrays</a></li>
|
---|
291 | <li><a id="toc-Constructing-Array-Values-1" href="Constructing-Array-Values.html#Constructing-Array-Values">16.8 Constructing Array Values</a></li>
|
---|
292 | <li><a id="toc-Arrays-of-Variable-Length-1" href="Arrays-of-Variable-Length.html#Arrays-of-Variable-Length">16.9 Arrays of Variable Length</a></li>
|
---|
293 | </ul></li>
|
---|
294 | <li><a id="toc-Enumeration-Types-1" href="Enumeration-Types.html#Enumeration-Types">17 Enumeration Types</a></li>
|
---|
295 | <li><a id="toc-Defining-Typedef-Names-1" href="Defining-Typedef-Names.html#Defining-Typedef-Names">18 Defining Typedef Names</a></li>
|
---|
296 | <li><a id="toc-Statements-1" href="Statements.html#Statements">19 Statements</a>
|
---|
297 | <ul class="no-bullet">
|
---|
298 | <li><a id="toc-Expression-Statement-1" href="Expression-Statement.html#Expression-Statement">19.1 Expression Statement</a></li>
|
---|
299 | <li><a id="toc-if-Statement-1" href="if-Statement.html#if-Statement">19.2 <code>if</code> Statement</a></li>
|
---|
300 | <li><a id="toc-if_002delse-Statement-1" href="if_002delse-Statement.html#if_002delse-Statement">19.3 <code>if-else</code> Statement</a></li>
|
---|
301 | <li><a id="toc-Blocks-1" href="Blocks.html#Blocks">19.4 Blocks</a></li>
|
---|
302 | <li><a id="toc-return-Statement-1" href="return-Statement.html#return-Statement">19.5 <code>return</code> Statement</a></li>
|
---|
303 | <li><a id="toc-Loop-Statements-1" href="Loop-Statements.html#Loop-Statements">19.6 Loop Statements</a>
|
---|
304 | <ul class="no-bullet">
|
---|
305 | <li><a id="toc-while-Statement-1" href="while-Statement.html#while-Statement">19.6.1 <code>while</code> Statement</a></li>
|
---|
306 | <li><a id="toc-do_002dwhile-Statement-1" href="do_002dwhile-Statement.html#do_002dwhile-Statement">19.6.2 <code>do-while</code> Statement</a></li>
|
---|
307 | <li><a id="toc-break-Statement-1" href="break-Statement.html#break-Statement">19.6.3 <code>break</code> Statement</a></li>
|
---|
308 | <li><a id="toc-for-Statement-1" href="for-Statement.html#for-Statement">19.6.4 <code>for</code> Statement</a></li>
|
---|
309 | <li><a id="toc-Example-of-for-1" href="Example-of-for.html#Example-of-for">19.6.5 Example of <code>for</code></a></li>
|
---|
310 | <li><a id="toc-Omitted-for_002dExpressions-1" href="Omitted-for_002dExpressions.html#Omitted-for_002dExpressions">19.6.6 Omitted <code>for</code>-Expressions</a></li>
|
---|
311 | <li><a id="toc-for_002dIndex-Declarations-1" href="for_002dIndex-Declarations.html#for_002dIndex-Declarations">19.6.7 <code>for</code>-Index Declarations</a></li>
|
---|
312 | <li><a id="toc-continue-Statement-1" href="continue-Statement.html#continue-Statement">19.6.8 <code>continue</code> Statement</a></li>
|
---|
313 | </ul></li>
|
---|
314 | <li><a id="toc-switch-Statement-1" href="switch-Statement.html#switch-Statement">19.7 <code>switch</code> Statement</a></li>
|
---|
315 | <li><a id="toc-Example-of-switch" href="switch-Example.html#switch-Example">19.8 Example of <code>switch</code></a></li>
|
---|
316 | <li><a id="toc-Duff_0027s-Device" href="Duffs-Device.html#Duffs-Device">19.9 Duff’s Device</a></li>
|
---|
317 | <li><a id="toc-Case-Ranges-1" href="Case-Ranges.html#Case-Ranges">19.10 Case Ranges</a></li>
|
---|
318 | <li><a id="toc-Null-Statement-1" href="Null-Statement.html#Null-Statement">19.11 Null Statement</a></li>
|
---|
319 | <li><a id="toc-goto-Statement-and-Labels" href="goto-Statement.html#goto-Statement">19.12 <code>goto</code> Statement and Labels</a></li>
|
---|
320 | <li><a id="toc-Locally-Declared-Labels" href="Local-Labels.html#Local-Labels">19.13 Locally Declared Labels</a></li>
|
---|
321 | <li><a id="toc-Labels-as-Values-1" href="Labels-as-Values.html#Labels-as-Values">19.14 Labels as Values</a>
|
---|
322 | <ul class="no-bullet">
|
---|
323 | <li><a id="toc-Label-Value-Uses-1" href="Label-Value-Uses.html#Label-Value-Uses">19.14.1 Label Value Uses</a></li>
|
---|
324 | <li><a id="toc-Label-Value-Caveats-1" href="Label-Value-Caveats.html#Label-Value-Caveats">19.14.2 Label Value Caveats</a></li>
|
---|
325 | </ul></li>
|
---|
326 | <li><a id="toc-Statements-and-Declarations-in-Expressions" href="Statement-Exprs.html#Statement-Exprs">19.15 Statements and Declarations in Expressions</a></li>
|
---|
327 | </ul></li>
|
---|
328 | <li><a id="toc-Variables-1" href="Variables.html#Variables">20 Variables</a>
|
---|
329 | <ul class="no-bullet">
|
---|
330 | <li><a id="toc-Variable-Declarations-1" href="Variable-Declarations.html#Variable-Declarations">20.1 Variable Declarations</a>
|
---|
331 | <ul class="no-bullet">
|
---|
332 | <li><a id="toc-Declaring-Arrays-and-Pointers-1" href="Declaring-Arrays-and-Pointers.html#Declaring-Arrays-and-Pointers">20.1.1 Declaring Arrays and Pointers</a></li>
|
---|
333 | <li><a id="toc-Combining-Variable-Declarations-1" href="Combining-Variable-Declarations.html#Combining-Variable-Declarations">20.1.2 Combining Variable Declarations</a></li>
|
---|
334 | </ul></li>
|
---|
335 | <li><a id="toc-Initializers-1" href="Initializers.html#Initializers">20.2 Initializers</a></li>
|
---|
336 | <li><a id="toc-Designated-Initializers" href="Designated-Inits.html#Designated-Inits">20.3 Designated Initializers</a></li>
|
---|
337 | <li><a id="toc-Referring-to-a-Type-with-_005f_005fauto_005ftype" href="Auto-Type.html#Auto-Type">20.4 Referring to a Type with <code>__auto_type</code></a></li>
|
---|
338 | <li><a id="toc-Local-Variables-1" href="Local-Variables.html#Local-Variables">20.5 Local Variables</a></li>
|
---|
339 | <li><a id="toc-File_002dScope-Variables-1" href="File_002dScope-Variables.html#File_002dScope-Variables">20.6 File-Scope Variables</a></li>
|
---|
340 | <li><a id="toc-Static-Local-Variables-1" href="Static-Local-Variables.html#Static-Local-Variables">20.7 Static Local Variables</a></li>
|
---|
341 | <li><a id="toc-extern-Declarations" href="Extern-Declarations.html#Extern-Declarations">20.8 <code>extern</code> Declarations</a></li>
|
---|
342 | <li><a id="toc-Allocating-File_002dScope-Variables" href="Allocating-File_002dScope.html#Allocating-File_002dScope">20.9 Allocating File-Scope Variables</a></li>
|
---|
343 | <li><a id="toc-auto-and-register-1" href="auto-and-register.html#auto-and-register">20.10 <code>auto</code> and <code>register</code></a></li>
|
---|
344 | <li><a id="toc-Omitting-Types-in-Declarations" href="Omitting-Types.html#Omitting-Types">20.11 Omitting Types in Declarations</a></li>
|
---|
345 | </ul></li>
|
---|
346 | <li><a id="toc-Type-Qualifiers-1" href="Type-Qualifiers.html#Type-Qualifiers">21 Type Qualifiers</a>
|
---|
347 | <ul class="no-bullet">
|
---|
348 | <li><a id="toc-const-Variables-and-Fields" href="const.html#const">21.1 <code>const</code> Variables and Fields</a></li>
|
---|
349 | <li><a id="toc-volatile-Variables-and-Fields" href="volatile.html#volatile">21.2 <code>volatile</code> Variables and Fields</a></li>
|
---|
350 | <li><a id="toc-restrict_002dQualified-Pointers" href="restrict-Pointers.html#restrict-Pointers">21.3 <code>restrict</code>-Qualified Pointers</a></li>
|
---|
351 | <li><a id="toc-restrict-Pointer-Example-1" href="restrict-Pointer-Example.html#restrict-Pointer-Example">21.4 <code>restrict</code> Pointer Example</a></li>
|
---|
352 | </ul></li>
|
---|
353 | <li><a id="toc-Functions-1" href="Functions.html#Functions">22 Functions</a>
|
---|
354 | <ul class="no-bullet">
|
---|
355 | <li><a id="toc-Function-Definitions-1" href="Function-Definitions.html#Function-Definitions">22.1 Function Definitions</a>
|
---|
356 | <ul class="no-bullet">
|
---|
357 | <li><a id="toc-Function-Parameter-Variables-1" href="Function-Parameter-Variables.html#Function-Parameter-Variables">22.1.1 Function Parameter Variables</a></li>
|
---|
358 | <li><a id="toc-Forward-Function-Declarations-1" href="Forward-Function-Declarations.html#Forward-Function-Declarations">22.1.2 Forward Function Declarations</a></li>
|
---|
359 | <li><a id="toc-Static-Functions-1" href="Static-Functions.html#Static-Functions">22.1.3 Static Functions</a></li>
|
---|
360 | <li><a id="toc-Arrays-as-Parameters-1" href="Arrays-as-Parameters.html#Arrays-as-Parameters">22.1.4 Arrays as Parameters</a>
|
---|
361 | <ul class="no-bullet">
|
---|
362 | <li><a id="toc-Array-parameters-are-pointers" href="Array-Parm-Pointer.html#Array-Parm-Pointer">22.1.4.1 Array parameters are pointers</a></li>
|
---|
363 | <li><a id="toc-Passing-array-arguments" href="Passing-Array-Args.html#Passing-Array-Args">22.1.4.2 Passing array arguments</a></li>
|
---|
364 | <li><a id="toc-Type-qualifiers-on-array-parameters" href="Array-Parm-Qualifiers.html#Array-Parm-Qualifiers">22.1.4.3 Type qualifiers on array parameters</a></li>
|
---|
365 | </ul></li>
|
---|
366 | <li><a id="toc-Functions-That-Accept-Structure-Arguments" href="Structs-as-Parameters.html#Structs-as-Parameters">22.1.5 Functions That Accept Structure Arguments</a></li>
|
---|
367 | </ul></li>
|
---|
368 | <li><a id="toc-Function-Declarations-1" href="Function-Declarations.html#Function-Declarations">22.2 Function Declarations</a></li>
|
---|
369 | <li><a id="toc-Function-Calls-1" href="Function-Calls.html#Function-Calls">22.3 Function Calls</a></li>
|
---|
370 | <li><a id="toc-Function-Call-Semantics-1" href="Function-Call-Semantics.html#Function-Call-Semantics">22.4 Function Call Semantics</a></li>
|
---|
371 | <li><a id="toc-Function-Pointers-1" href="Function-Pointers.html#Function-Pointers">22.5 Function Pointers</a>
|
---|
372 | <ul class="no-bullet">
|
---|
373 | <li><a id="toc-Declaring-Function-Pointers-1" href="Declaring-Function-Pointers.html#Declaring-Function-Pointers">22.5.1 Declaring Function Pointers</a></li>
|
---|
374 | <li><a id="toc-Assigning-Function-Pointers-1" href="Assigning-Function-Pointers.html#Assigning-Function-Pointers">22.5.2 Assigning Function Pointers</a></li>
|
---|
375 | <li><a id="toc-Calling-Function-Pointers-1" href="Calling-Function-Pointers.html#Calling-Function-Pointers">22.5.3 Calling Function Pointers</a></li>
|
---|
376 | </ul></li>
|
---|
377 | <li><a id="toc-The-main-Function-1" href="The-main-Function.html#The-main-Function">22.6 The <code>main</code> Function</a>
|
---|
378 | <ul class="no-bullet">
|
---|
379 | <li><a id="toc-Returning-Values-from-main" href="Values-from-main.html#Values-from-main">22.6.1 Returning Values from <code>main</code></a></li>
|
---|
380 | <li><a id="toc-Accessing-Command_002dline-Parameters" href="Command_002dline-Parameters.html#Command_002dline-Parameters">22.6.2 Accessing Command-line Parameters</a></li>
|
---|
381 | <li><a id="toc-Accessing-Environment-Variables" href="Environment-Variables.html#Environment-Variables">22.6.3 Accessing Environment Variables</a></li>
|
---|
382 | </ul></li>
|
---|
383 | <li><a id="toc-Advanced-Function-Features" href="Advanced-Definitions.html#Advanced-Definitions">22.7 Advanced Function Features</a>
|
---|
384 | <ul class="no-bullet">
|
---|
385 | <li><a id="toc-Variable_002dLength-Array-Parameters-1" href="Variable_002dLength-Array-Parameters.html#Variable_002dLength-Array-Parameters">22.7.1 Variable-Length Array Parameters</a></li>
|
---|
386 | <li><a id="toc-Variable_002dLength-Parameter-Lists" href="Variable-Number-of-Arguments.html#Variable-Number-of-Arguments">22.7.2 Variable-Length Parameter Lists</a></li>
|
---|
387 | <li><a id="toc-Nested-Functions-1" href="Nested-Functions.html#Nested-Functions">22.7.3 Nested Functions</a></li>
|
---|
388 | <li><a id="toc-Inline-Function-Definitions-1" href="Inline-Function-Definitions.html#Inline-Function-Definitions">22.7.4 Inline Function Definitions</a></li>
|
---|
389 | </ul></li>
|
---|
390 | <li><a id="toc-Obsolete-Function-Features" href="Obsolete-Definitions.html#Obsolete-Definitions">22.8 Obsolete Function Features</a>
|
---|
391 | <ul class="no-bullet">
|
---|
392 | <li><a id="toc-Older-GNU-C-Inlining" href="Old-GNU-Inlining.html#Old-GNU-Inlining">22.8.1 Older GNU C Inlining</a></li>
|
---|
393 | <li><a id="toc-Old_002dStyle-Function-Definitions-1" href="Old_002dStyle-Function-Definitions.html#Old_002dStyle-Function-Definitions">22.8.2 Old-Style Function Definitions</a></li>
|
---|
394 | </ul></li>
|
---|
395 | </ul></li>
|
---|
396 | <li><a id="toc-Compatible-Types-1" href="Compatible-Types.html#Compatible-Types">23 Compatible Types</a></li>
|
---|
397 | <li><a id="toc-Type-Conversions-1" href="Type-Conversions.html#Type-Conversions">24 Type Conversions</a>
|
---|
398 | <ul class="no-bullet">
|
---|
399 | <li><a id="toc-Explicit-Type-Conversion-1" href="Explicit-Type-Conversion.html#Explicit-Type-Conversion">24.1 Explicit Type Conversion</a></li>
|
---|
400 | <li><a id="toc-Assignment-Type-Conversions-1" href="Assignment-Type-Conversions.html#Assignment-Type-Conversions">24.2 Assignment Type Conversions</a></li>
|
---|
401 | <li><a id="toc-Argument-Promotions-1" href="Argument-Promotions.html#Argument-Promotions">24.3 Argument Promotions</a></li>
|
---|
402 | <li><a id="toc-Operand-Promotions-1" href="Operand-Promotions.html#Operand-Promotions">24.4 Operand Promotions</a></li>
|
---|
403 | <li><a id="toc-Common-Type-1" href="Common-Type.html#Common-Type">24.5 Common Type</a></li>
|
---|
404 | </ul></li>
|
---|
405 | <li><a id="toc-Scope-1" href="Scope.html#Scope">25 Scope</a></li>
|
---|
406 | <li><a id="toc-Preprocessing-1" href="Preprocessing.html#Preprocessing">26 Preprocessing</a>
|
---|
407 | <ul class="no-bullet">
|
---|
408 | <li><a id="toc-Preprocessing-Overview" href="Preproc-Overview.html#Preproc-Overview">26.1 Preprocessing Overview</a></li>
|
---|
409 | <li><a id="toc-Directives-1" href="Directives.html#Directives">26.2 Directives</a></li>
|
---|
410 | <li><a id="toc-Preprocessing-Tokens-1" href="Preprocessing-Tokens.html#Preprocessing-Tokens">26.3 Preprocessing Tokens</a></li>
|
---|
411 | <li><a id="toc-Header-Files-1" href="Header-Files.html#Header-Files">26.4 Header Files</a>
|
---|
412 | <ul class="no-bullet">
|
---|
413 | <li><a id="toc-_0023include-Syntax" href="include-Syntax.html#include-Syntax">26.4.1 <code>#include</code> Syntax</a></li>
|
---|
414 | <li><a id="toc-_0023include-Operation" href="include-Operation.html#include-Operation">26.4.2 <code>#include</code> Operation</a></li>
|
---|
415 | <li><a id="toc-Search-Path-1" href="Search-Path.html#Search-Path">26.4.3 Search Path</a></li>
|
---|
416 | <li><a id="toc-Once_002dOnly-Headers-1" href="Once_002dOnly-Headers.html#Once_002dOnly-Headers">26.4.4 Once-Only Headers</a></li>
|
---|
417 | <li><a id="toc-Computed-Includes-1" href="Computed-Includes.html#Computed-Includes">26.4.5 Computed Includes</a></li>
|
---|
418 | </ul></li>
|
---|
419 | <li><a id="toc-Macros-1" href="Macros.html#Macros">26.5 Macros</a>
|
---|
420 | <ul class="no-bullet">
|
---|
421 | <li><a id="toc-Object_002dlike-Macros-1" href="Object_002dlike-Macros.html#Object_002dlike-Macros">26.5.1 Object-like Macros</a></li>
|
---|
422 | <li><a id="toc-Function_002dlike-Macros-1" href="Function_002dlike-Macros.html#Function_002dlike-Macros">26.5.2 Function-like Macros</a></li>
|
---|
423 | <li><a id="toc-Macro-Arguments-1" href="Macro-Arguments.html#Macro-Arguments">26.5.3 Macro Arguments</a></li>
|
---|
424 | <li><a id="toc-Stringification-1" href="Stringification.html#Stringification">26.5.4 Stringification</a></li>
|
---|
425 | <li><a id="toc-Concatenation-1" href="Concatenation.html#Concatenation">26.5.5 Concatenation</a></li>
|
---|
426 | <li><a id="toc-Variadic-Macros-1" href="Variadic-Macros.html#Variadic-Macros">26.5.6 Variadic Macros</a></li>
|
---|
427 | <li><a id="toc-Predefined-Macros-1" href="Predefined-Macros.html#Predefined-Macros">26.5.7 Predefined Macros</a></li>
|
---|
428 | <li><a id="toc-Undefining-and-Redefining-Macros-1" href="Undefining-and-Redefining-Macros.html#Undefining-and-Redefining-Macros">26.5.8 Undefining and Redefining Macros</a></li>
|
---|
429 | <li><a id="toc-Directives-Within-Macro-Arguments-1" href="Directives-Within-Macro-Arguments.html#Directives-Within-Macro-Arguments">26.5.9 Directives Within Macro Arguments</a></li>
|
---|
430 | <li><a id="toc-Macro-Pitfalls-1" href="Macro-Pitfalls.html#Macro-Pitfalls">26.5.10 Macro Pitfalls</a>
|
---|
431 | <ul class="no-bullet">
|
---|
432 | <li><a id="toc-Misnesting-1" href="Misnesting.html#Misnesting">26.5.10.1 Misnesting</a></li>
|
---|
433 | <li><a id="toc-Operator-Precedence-Problems-1" href="Operator-Precedence-Problems.html#Operator-Precedence-Problems">26.5.10.2 Operator Precedence Problems</a></li>
|
---|
434 | <li><a id="toc-Swallowing-the-Semicolon-1" href="Swallowing-the-Semicolon.html#Swallowing-the-Semicolon">26.5.10.3 Swallowing the Semicolon</a></li>
|
---|
435 | <li><a id="toc-Duplication-of-Side-Effects-1" href="Duplication-of-Side-Effects.html#Duplication-of-Side-Effects">26.5.10.4 Duplication of Side Effects</a></li>
|
---|
436 | <li><a id="toc-Using-_005f_005fauto_005ftype-for-Local-Variables" href="Macros-and-Auto-Type.html#Macros-and-Auto-Type">26.5.10.5 Using <code>__auto_type</code> for Local Variables</a></li>
|
---|
437 | <li><a id="toc-Self_002dReferential-Macros-1" href="Self_002dReferential-Macros.html#Self_002dReferential-Macros">26.5.10.6 Self-Referential Macros</a></li>
|
---|
438 | <li><a id="toc-Argument-Prescan-1" href="Argument-Prescan.html#Argument-Prescan">26.5.10.7 Argument Prescan</a></li>
|
---|
439 | </ul></li>
|
---|
440 | </ul></li>
|
---|
441 | <li><a id="toc-Conditionals-1" href="Conditionals.html#Conditionals">26.6 Conditionals</a>
|
---|
442 | <ul class="no-bullet">
|
---|
443 | <li><a id="toc-Uses-of-Conditional-Directives" href="Conditional-Uses.html#Conditional-Uses">26.6.1 Uses of Conditional Directives</a></li>
|
---|
444 | <li><a id="toc-Syntax-of-Preprocessing-Conditionals" href="Conditional-Syntax.html#Conditional-Syntax">26.6.2 Syntax of Preprocessing Conditionals</a>
|
---|
445 | <ul class="no-bullet">
|
---|
446 | <li><a id="toc-The-_0023ifdef-directive" href="ifdef.html#ifdef">26.6.2.1 The <code>#ifdef</code> directive</a></li>
|
---|
447 | <li><a id="toc-The-_0023if-directive" href="if.html#if">26.6.2.2 The <code>#if</code> directive</a></li>
|
---|
448 | <li><a id="toc-The-defined-test" href="defined.html#defined">26.6.2.3 The <code>defined</code> test</a></li>
|
---|
449 | <li><a id="toc-The-_0023else-directive" href="else.html#else">26.6.2.4 The <code>#else</code> directive</a></li>
|
---|
450 | <li><a id="toc-The-_0023elif-directive" href="elif.html#elif">26.6.2.5 The <code>#elif</code> directive</a></li>
|
---|
451 | </ul></li>
|
---|
452 | <li><a id="toc-Deleted-Code-1" href="Deleted-Code.html#Deleted-Code">26.6.3 Deleted Code</a></li>
|
---|
453 | </ul></li>
|
---|
454 | <li><a id="toc-Diagnostics-1" href="Diagnostics.html#Diagnostics">26.7 Diagnostics</a></li>
|
---|
455 | <li><a id="toc-Line-Control-1" href="Line-Control.html#Line-Control">26.8 Line Control</a></li>
|
---|
456 | <li><a id="toc-Null-Directive-1" href="Null-Directive.html#Null-Directive">26.9 Null Directive</a></li>
|
---|
457 | </ul></li>
|
---|
458 | <li><a id="toc-Integers-in-Depth-1" href="Integers-in-Depth.html#Integers-in-Depth">27 Integers in Depth</a>
|
---|
459 | <ul class="no-bullet">
|
---|
460 | <li><a id="toc-Integer-Representations-1" href="Integer-Representations.html#Integer-Representations">27.1 Integer Representations</a></li>
|
---|
461 | <li><a id="toc-Maximum-and-Minimum-Values-1" href="Maximum-and-Minimum-Values.html#Maximum-and-Minimum-Values">27.2 Maximum and Minimum Values</a></li>
|
---|
462 | </ul></li>
|
---|
463 | <li><a id="toc-Floating-Point-in-Depth-1" href="Floating-Point-in-Depth.html#Floating-Point-in-Depth">28 Floating Point in Depth</a>
|
---|
464 | <ul class="no-bullet">
|
---|
465 | <li><a id="toc-Floating_002dPoint-Representations" href="Floating-Representations.html#Floating-Representations">28.1 Floating-Point Representations</a></li>
|
---|
466 | <li><a id="toc-Floating_002dPoint-Type-Specifications" href="Floating-Type-Specs.html#Floating-Type-Specs">28.2 Floating-Point Type Specifications</a></li>
|
---|
467 | <li><a id="toc-Special-Floating_002dPoint-Values" href="Special-Float-Values.html#Special-Float-Values">28.3 Special Floating-Point Values</a></li>
|
---|
468 | <li><a id="toc-Invalid-Optimizations-1" href="Invalid-Optimizations.html#Invalid-Optimizations">28.4 Invalid Optimizations</a></li>
|
---|
469 | <li><a id="toc-Floating-Arithmetic-Exception-Flags" href="Exception-Flags.html#Exception-Flags">28.5 Floating Arithmetic Exception Flags</a></li>
|
---|
470 | <li><a id="toc-Exact-Floating_002dPoint-Arithmetic" href="Exact-Floating_002dPoint.html#Exact-Floating_002dPoint">28.6 Exact Floating-Point Arithmetic</a></li>
|
---|
471 | <li><a id="toc-Rounding-1" href="Rounding.html#Rounding">28.7 Rounding</a></li>
|
---|
472 | <li><a id="toc-Rounding-Issues-1" href="Rounding-Issues.html#Rounding-Issues">28.8 Rounding Issues</a></li>
|
---|
473 | <li><a id="toc-Significance-Loss-1" href="Significance-Loss.html#Significance-Loss">28.9 Significance Loss</a></li>
|
---|
474 | <li><a id="toc-Fused-Multiply_002dAdd-1" href="Fused-Multiply_002dAdd.html#Fused-Multiply_002dAdd">28.10 Fused Multiply-Add</a></li>
|
---|
475 | <li><a id="toc-Error-Recovery-1" href="Error-Recovery.html#Error-Recovery">28.11 Error Recovery</a></li>
|
---|
476 | <li><a id="toc-Exact-Floating_002dPoint-Constants" href="Exact-Floating-Constants.html#Exact-Floating-Constants">28.12 Exact Floating-Point Constants</a></li>
|
---|
477 | <li><a id="toc-Handling-Infinity-1" href="Handling-Infinity.html#Handling-Infinity">28.13 Handling Infinity</a></li>
|
---|
478 | <li><a id="toc-Handling-NaN-1" href="Handling-NaN.html#Handling-NaN">28.14 Handling NaN</a></li>
|
---|
479 | <li><a id="toc-Signed-Zeros-1" href="Signed-Zeros.html#Signed-Zeros">28.15 Signed Zeros</a></li>
|
---|
480 | <li><a id="toc-Scaling-by-Powers-of-the-Base" href="Scaling-by-the-Base.html#Scaling-by-the-Base">28.16 Scaling by Powers of the Base</a></li>
|
---|
481 | <li><a id="toc-Rounding-Control-1" href="Rounding-Control.html#Rounding-Control">28.17 Rounding Control</a></li>
|
---|
482 | <li><a id="toc-Machine-Epsilon-1" href="Machine-Epsilon.html#Machine-Epsilon">28.18 Machine Epsilon</a></li>
|
---|
483 | <li><a id="toc-Complex-Arithmetic-1" href="Complex-Arithmetic.html#Complex-Arithmetic">28.19 Complex Arithmetic</a></li>
|
---|
484 | <li><a id="toc-Round_002dTrip-Base-Conversion-1" href="Round_002dTrip-Base-Conversion.html#Round_002dTrip-Base-Conversion">28.20 Round-Trip Base Conversion</a></li>
|
---|
485 | <li><a id="toc-Further-Reading-1" href="Further-Reading.html#Further-Reading">28.21 Further Reading</a></li>
|
---|
486 | </ul></li>
|
---|
487 | <li><a id="toc-Compilation-1" href="Compilation.html#Compilation">29 Compilation</a></li>
|
---|
488 | <li><a id="toc-Directing-Compilation-1" href="Directing-Compilation.html#Directing-Compilation">30 Directing Compilation</a>
|
---|
489 | <ul class="no-bullet">
|
---|
490 | <li><a id="toc-Pragmas-1" href="Pragmas.html#Pragmas">30.1 Pragmas</a>
|
---|
491 | <ul class="no-bullet">
|
---|
492 | <li><a id="toc-Pragma-Basics-1" href="Pragma-Basics.html#Pragma-Basics">30.1.1 Pragma Basics</a></li>
|
---|
493 | <li><a id="toc-Severity-Pragmas-1" href="Severity-Pragmas.html#Severity-Pragmas">30.1.2 Severity Pragmas</a></li>
|
---|
494 | <li><a id="toc-Optimization-Pragmas-1" href="Optimization-Pragmas.html#Optimization-Pragmas">30.1.3 Optimization Pragmas</a></li>
|
---|
495 | </ul></li>
|
---|
496 | <li><a id="toc-Static-Assertions-1" href="Static-Assertions.html#Static-Assertions">30.2 Static Assertions</a></li>
|
---|
497 | </ul></li>
|
---|
498 | <li><a id="toc-Type-Alignment-1" href="Type-Alignment.html#Type-Alignment">Appendix A Type Alignment</a></li>
|
---|
499 | <li><a id="toc-Aliasing-1" href="Aliasing.html#Aliasing">Appendix B Aliasing</a>
|
---|
500 | <ul class="no-bullet">
|
---|
501 | <li><a id="toc-Aliasing-and-Alignment" href="Aliasing-Alignment.html#Aliasing-Alignment">B.1 Aliasing and Alignment</a></li>
|
---|
502 | <li><a id="toc-Aliasing-and-Length" href="Aliasing-Length.html#Aliasing-Length">B.2 Aliasing and Length</a></li>
|
---|
503 | <li><a id="toc-Type-Rules-for-Aliasing" href="Aliasing-Type-Rules.html#Aliasing-Type-Rules">B.3 Type Rules for Aliasing</a></li>
|
---|
504 | </ul></li>
|
---|
505 | <li><a id="toc-Digraphs-1" href="Digraphs.html#Digraphs">Appendix C Digraphs</a></li>
|
---|
506 | <li><a id="toc-Attributes-in-Declarations" href="Attributes.html#Attributes">Appendix D Attributes in Declarations</a></li>
|
---|
507 | <li><a id="toc-Signals-1" href="Signals.html#Signals">Appendix E Signals</a></li>
|
---|
508 | <li><a id="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">Appendix F GNU Free Documentation License</a></li>
|
---|
509 | <li><a id="toc-Index-of-Symbols-and-Keywords" href="Symbol-Index.html#Symbol-Index" rel="index">Index of Symbols and Keywords</a></li>
|
---|
510 | <li><a id="toc-Concept-Index-1" href="Concept-Index.html#Concept-Index" rel="index">Concept Index</a></li>
|
---|
511 | </ul>
|
---|
512 | </div>
|
---|
513 |
|
---|
514 |
|
---|
515 |
|
---|
516 | <span id="Top"></span><div class="header">
|
---|
517 | <p>
|
---|
518 | Next: <a href="The-First-Example.html" accesskey="n" rel="next">The First Example</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Index.html" title="Index" rel="index">Index</a>]</p>
|
---|
519 | </div>
|
---|
520 | <hr>
|
---|
521 | <span id="GNU-C-Manual"></span><h1 class="top">GNU C Manual</h1>
|
---|
522 |
|
---|
523 | <p>This manual explains the C language for use with the GNU Compiler
|
---|
524 | Collection (GCC) on the GNU/Linux system and other systems. We refer
|
---|
525 | to this dialect as GNU C. If you already know C, you can use this as
|
---|
526 | a reference manual.
|
---|
527 | </p>
|
---|
528 | <p>If you understand basic concepts of programming but know nothing about
|
---|
529 | C, you can read this manual sequentially from the beginning to learn
|
---|
530 | the C language.
|
---|
531 | </p>
|
---|
532 | <p>If you are a beginner to programming, we recommend you first learn a
|
---|
533 | language with automatic garbage collection and no explicit pointers,
|
---|
534 | rather than starting with C. Good choices include Lisp, Scheme,
|
---|
535 | Python and Java. C’s explicit pointers mean that programmers must be
|
---|
536 | careful to avoid certain kinds of errors.
|
---|
537 | </p>
|
---|
538 | <p>C is a venerable language; it was first used in 1973. The GNU C
|
---|
539 | Compiler, which was subsequently extended into the GNU Compiler
|
---|
540 | Collection, was first released in 1987. Other important languages
|
---|
541 | were designed based on C: once you know C, it gives you a useful base
|
---|
542 | for learning C<tt>++</tt>, C#, Java, Scala, D, Go, and more.
|
---|
543 | </p>
|
---|
544 | <p>The special advantage of C is that it is fairly simple while allowing
|
---|
545 | close access to the computer’s hardware, which previously required
|
---|
546 | writing in assembler language to describe the individual machine
|
---|
547 | instructions. Some have called C a “high-level assembler language”
|
---|
548 | because of its explicit pointers and lack of automatic management of
|
---|
549 | storage. As one wag put it, “C combines the power of assembler
|
---|
550 | language with the convenience of assembler language.” However, C is
|
---|
551 | far more portable, and much easier to read and write, than assembler
|
---|
552 | language.
|
---|
553 | </p>
|
---|
554 | <p>This manual focuses on the GNU C language supported by the GNU
|
---|
555 | Compiler Collection, version ???. When a construct may be absent or
|
---|
556 | work differently in other C compilers, we say so. When it is not part
|
---|
557 | of ISO standard C, we say it is a “GNU C extension,” because it is
|
---|
558 | useful to know that; however, other dialects and standards are not the
|
---|
559 | focus of this manual. We keep those notes short, unless it is vital
|
---|
560 | to say more. For the same reason, we hardly mention C<tt>++</tt> or other
|
---|
561 | languages that the GNU Compiler Collection supports.
|
---|
562 | </p>
|
---|
563 | <p>Some aspects of the meaning of C programs depend on the target
|
---|
564 | platform: which computer, and which operating system, the compiled
|
---|
565 | code will run on. Where this is the case, we say so.
|
---|
566 | </p>
|
---|
567 | <p>The C language provides no built-in facilities for performing such
|
---|
568 | common operations as input/output, memory management, string
|
---|
569 | manipulation, and the like. Instead, these facilities are defined in
|
---|
570 | a standard library, which is automatically available in every C
|
---|
571 | program. See <a href="https://www.gnu.org/software/libc/manual/html_node/index.html#Top">The GNU C Library</a> in <cite>The GNU C Library
|
---|
572 | Reference Manual</cite>.
|
---|
573 | </p>
|
---|
574 | <p>This manual incorporates the former GNU C Preprocessor Manual, which
|
---|
575 | was among the earliest GNU Manuals. It also uses some text from the
|
---|
576 | earlier GNU C Manual that was written by Trevis Rothwell and James
|
---|
577 | Youngman.
|
---|
578 | </p>
|
---|
579 | <p>GNU C has many obscure features, each one either for historical
|
---|
580 | compatibility or meant for very special situations. We have left them
|
---|
581 | to a companion manual, the GNU C Obscurities Manual, which will be
|
---|
582 | published digitally later.
|
---|
583 | </p>
|
---|
584 | <table class="menu" border="0" cellspacing="0">
|
---|
585 | <tr><td align="left" valign="top">• <a href="The-First-Example.html" accesskey="1">The First Example</a></td><td> </td><td align="left" valign="top">Getting started with basic C code.
|
---|
586 | </td></tr>
|
---|
587 | <tr><td align="left" valign="top">• <a href="Complete-Program.html" accesskey="2">Complete Program</a></td><td> </td><td align="left" valign="top">A whole example program
|
---|
588 | that can be compiled and run.
|
---|
589 | </td></tr>
|
---|
590 | <tr><td align="left" valign="top">• <a href="Storage.html" accesskey="3">Storage</a></td><td> </td><td align="left" valign="top">Basic layout of storage; bytes.
|
---|
591 | </td></tr>
|
---|
592 | <tr><td align="left" valign="top">• <a href="Beyond-Integers.html" accesskey="4">Beyond Integers</a></td><td> </td><td align="left" valign="top">Exploring different numeric types.
|
---|
593 | </td></tr>
|
---|
594 | <tr><td align="left" valign="top">• <a href="Lexical-Syntax.html" accesskey="5">Lexical Syntax</a></td><td> </td><td align="left" valign="top">The various lexical components of C programs.
|
---|
595 | </td></tr>
|
---|
596 | <tr><td align="left" valign="top">• <a href="Arithmetic.html" accesskey="6">Arithmetic</a></td><td> </td><td align="left" valign="top">Numeric computations.
|
---|
597 | </td></tr>
|
---|
598 | <tr><td align="left" valign="top">• <a href="Assignment-Expressions.html" accesskey="7">Assignment Expressions</a></td><td> </td><td align="left" valign="top">Storing values in variables.
|
---|
599 | </td></tr>
|
---|
600 | <tr><td align="left" valign="top">• <a href="Execution-Control-Expressions.html" accesskey="8">Execution Control Expressions</a></td><td> </td><td align="left" valign="top">Expressions combining values in various ways.
|
---|
601 | </td></tr>
|
---|
602 | <tr><td align="left" valign="top">• <a href="Binary-Operator-Grammar.html" accesskey="9">Binary Operator Grammar</a></td><td> </td><td align="left" valign="top">An overview of operator precedence.
|
---|
603 | </td></tr>
|
---|
604 | <tr><td align="left" valign="top">• <a href="Order-of-Execution.html">Order of Execution</a></td><td> </td><td align="left" valign="top">The order of program execution.
|
---|
605 | </td></tr>
|
---|
606 | <tr><td align="left" valign="top">• <a href="Primitive-Types.html">Primitive Types</a></td><td> </td><td align="left" valign="top">More details about primitive data types.
|
---|
607 | </td></tr>
|
---|
608 | <tr><td align="left" valign="top">• <a href="Constants.html">Constants</a></td><td> </td><td align="left" valign="top">Explicit constant values:
|
---|
609 | details and examples.
|
---|
610 | </td></tr>
|
---|
611 | <tr><td align="left" valign="top">• <a href="Type-Size.html">Type Size</a></td><td> </td><td align="left" valign="top">The memory space occupied by a type.
|
---|
612 | </td></tr>
|
---|
613 | <tr><td align="left" valign="top">• <a href="Pointers.html">Pointers</a></td><td> </td><td align="left" valign="top">Creating and manipulating memory pointers.
|
---|
614 | </td></tr>
|
---|
615 | <tr><td align="left" valign="top">• <a href="Structures.html">Structures</a></td><td> </td><td align="left" valign="top">Compound data types built
|
---|
616 | by grouping other types.
|
---|
617 | </td></tr>
|
---|
618 | <tr><td align="left" valign="top">• <a href="Arrays.html">Arrays</a></td><td> </td><td align="left" valign="top">Creating and manipulating arrays.
|
---|
619 | </td></tr>
|
---|
620 | <tr><td align="left" valign="top">• <a href="Enumeration-Types.html">Enumeration Types</a></td><td> </td><td align="left" valign="top">Sets of integers with named values.
|
---|
621 | </td></tr>
|
---|
622 | <tr><td align="left" valign="top">• <a href="Defining-Typedef-Names.html">Defining Typedef Names</a></td><td> </td><td align="left" valign="top">Using <code>typedef</code> to define type names.
|
---|
623 | </td></tr>
|
---|
624 | <tr><td align="left" valign="top">• <a href="Statements.html">Statements</a></td><td> </td><td align="left" valign="top">Controling program flow.
|
---|
625 | </td></tr>
|
---|
626 | <tr><td align="left" valign="top">• <a href="Variables.html">Variables</a></td><td> </td><td align="left" valign="top">Details about declaring, initializing,
|
---|
627 | and using variables.
|
---|
628 | </td></tr>
|
---|
629 | <tr><td align="left" valign="top">• <a href="Type-Qualifiers.html">Type Qualifiers</a></td><td> </td><td align="left" valign="top">Mark variables for certain intended uses.
|
---|
630 | </td></tr>
|
---|
631 | <tr><td align="left" valign="top">• <a href="Functions.html">Functions</a></td><td> </td><td align="left" valign="top">Declaring, defining, and calling functions.
|
---|
632 | </td></tr>
|
---|
633 | <tr><td align="left" valign="top">• <a href="Compatible-Types.html">Compatible Types</a></td><td> </td><td align="left" valign="top">How to tell if two types are compatible
|
---|
634 | with each other.
|
---|
635 | </td></tr>
|
---|
636 | <tr><td align="left" valign="top">• <a href="Type-Conversions.html">Type Conversions</a></td><td> </td><td align="left" valign="top">Converting between types.
|
---|
637 | </td></tr>
|
---|
638 | <tr><td align="left" valign="top">• <a href="Scope.html">Scope</a></td><td> </td><td align="left" valign="top">Different categories of identifier scope.
|
---|
639 | </td></tr>
|
---|
640 | <tr><td align="left" valign="top">• <a href="Preprocessing.html">Preprocessing</a></td><td> </td><td align="left" valign="top">Using the GNU C preprocessor.
|
---|
641 | </td></tr>
|
---|
642 | <tr><td align="left" valign="top">• <a href="Integers-in-Depth.html">Integers in Depth</a></td><td> </td><td align="left" valign="top">How integer numbers are represented.
|
---|
643 | </td></tr>
|
---|
644 | <tr><td align="left" valign="top">• <a href="Floating-Point-in-Depth.html">Floating Point in Depth</a></td><td> </td><td align="left" valign="top">How floating-point numbers are represented.
|
---|
645 | </td></tr>
|
---|
646 | <tr><td align="left" valign="top">• <a href="Compilation.html">Compilation</a></td><td> </td><td align="left" valign="top">How to compile multi-file programs.
|
---|
647 | </td></tr>
|
---|
648 | <tr><td align="left" valign="top">• <a href="Directing-Compilation.html">Directing Compilation</a></td><td> </td><td align="left" valign="top">Operations that affect compilation
|
---|
649 | but don’t change the program.
|
---|
650 | </td></tr>
|
---|
651 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
652 |
|
---|
653 | Appendices
|
---|
654 |
|
---|
655 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Type-Alignment.html">Type Alignment</a></td><td> </td><td align="left" valign="top">Where in memory a type can validly start.
|
---|
656 | </td></tr>
|
---|
657 | <tr><td align="left" valign="top">• <a href="Aliasing.html">Aliasing</a></td><td> </td><td align="left" valign="top">Accessing the same data in two types.
|
---|
658 | </td></tr>
|
---|
659 | <tr><td align="left" valign="top">• <a href="Digraphs.html">Digraphs</a></td><td> </td><td align="left" valign="top">Two-character aliases for some characters.
|
---|
660 | </td></tr>
|
---|
661 | <tr><td align="left" valign="top">• <a href="Attributes.html">Attributes</a></td><td> </td><td align="left" valign="top">Specifying additional information
|
---|
662 | in a declaration.
|
---|
663 | </td></tr>
|
---|
664 | <tr><td align="left" valign="top">• <a href="Signals.html">Signals</a></td><td> </td><td align="left" valign="top">Fatal errors triggered in various scenarios.
|
---|
665 | </td></tr>
|
---|
666 | <tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html">GNU Free Documentation License</a></td><td> </td><td align="left" valign="top">The license for this manual.
|
---|
667 | </td></tr>
|
---|
668 | <tr><td align="left" valign="top">• <a href="Symbol-Index.html" rel="index">Symbol Index</a></td><td> </td><td align="left" valign="top">Keyword and symbol index.
|
---|
669 | </td></tr>
|
---|
670 | <tr><td align="left" valign="top">• <a href="Concept-Index.html" rel="index">Concept Index</a></td><td> </td><td align="left" valign="top">Detailed topical index.
|
---|
671 | </td></tr>
|
---|
672 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
673 |
|
---|
674 | </pre></th></tr><tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">— The Detailed Node Listing —
|
---|
675 |
|
---|
676 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Recursive-Fibonacci.html">Recursive Fibonacci</a></td><td> </td><td align="left" valign="top">Writing a simple function recursively.
|
---|
677 | </td></tr>
|
---|
678 | <tr><td align="left" valign="top">• <a href="Stack.html">Stack</a></td><td> </td><td align="left" valign="top">Each function call uses space in the stack.
|
---|
679 | </td></tr>
|
---|
680 | <tr><td align="left" valign="top">• <a href="Iterative-Fibonacci.html">Iterative Fibonacci</a></td><td> </td><td align="left" valign="top">Writing the same function iteratively.
|
---|
681 | </td></tr>
|
---|
682 | <tr><td align="left" valign="top">• <a href="Complete-Example.html">Complete Example</a></td><td> </td><td align="left" valign="top">Turn the simple function into a full program.
|
---|
683 | </td></tr>
|
---|
684 | <tr><td align="left" valign="top">• <a href="Complete-Explanation.html">Complete Explanation</a></td><td> </td><td align="left" valign="top">Explanation of each part of the example.
|
---|
685 | </td></tr>
|
---|
686 | <tr><td align="left" valign="top">• <a href="Complete-Line_002dby_002dLine.html">Complete Line-by-Line</a></td><td> </td><td align="left" valign="top">Explaining each line of the example.
|
---|
687 | </td></tr>
|
---|
688 | <tr><td align="left" valign="top">• <a href="Compile-Example.html">Compile Example</a></td><td> </td><td align="left" valign="top">Using GCC to compile the example.
|
---|
689 | </td></tr>
|
---|
690 | <tr><td align="left" valign="top">• <a href="Float-Example.html">Float Example</a></td><td> </td><td align="left" valign="top">A function that uses floating-point numbers.
|
---|
691 | </td></tr>
|
---|
692 | <tr><td align="left" valign="top">• <a href="Array-Example.html">Array Example</a></td><td> </td><td align="left" valign="top">A function that works with arrays.
|
---|
693 | </td></tr>
|
---|
694 | <tr><td align="left" valign="top">• <a href="Array-Example-Call.html">Array Example Call</a></td><td> </td><td align="left" valign="top">How to call that function.
|
---|
695 | </td></tr>
|
---|
696 | <tr><td align="left" valign="top">• <a href="Array-Example-Variations.html">Array Example Variations</a></td><td> </td><td align="left" valign="top">Different ways to write the call example.
|
---|
697 | </td></tr>
|
---|
698 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
699 |
|
---|
700 | Lexical Syntax
|
---|
701 |
|
---|
702 | </pre></th></tr><tr><td align="left" valign="top">• <a href="English.html">English</a></td><td> </td><td align="left" valign="top">Write programs in English!
|
---|
703 | </td></tr>
|
---|
704 | <tr><td align="left" valign="top">• <a href="Characters.html">Characters</a></td><td> </td><td align="left" valign="top">The characters allowed in C programs.
|
---|
705 | </td></tr>
|
---|
706 | <tr><td align="left" valign="top">• <a href="Whitespace.html">Whitespace</a></td><td> </td><td align="left" valign="top">The particulars of whitespace characters.
|
---|
707 | </td></tr>
|
---|
708 | <tr><td align="left" valign="top">• <a href="Comments.html">Comments</a></td><td> </td><td align="left" valign="top">How to include comments in C code.
|
---|
709 | </td></tr>
|
---|
710 | <tr><td align="left" valign="top">• <a href="Identifiers.html">Identifiers</a></td><td> </td><td align="left" valign="top">How to form identifiers (names).
|
---|
711 | </td></tr>
|
---|
712 | <tr><td align="left" valign="top">• <a href="Operators_002fPunctuation.html">Operators/Punctuation</a></td><td> </td><td align="left" valign="top">Characters used as operators or punctuation.
|
---|
713 | </td></tr>
|
---|
714 | <tr><td align="left" valign="top">• <a href="Line-Continuation.html">Line Continuation</a></td><td> </td><td align="left" valign="top">Splitting one line into multiple lines.
|
---|
715 | </td></tr>
|
---|
716 | <tr><td align="left" valign="top">• <a href="Digraphs.html">Digraphs</a></td><td> </td><td align="left" valign="top">Two-character substitutes for some characters.
|
---|
717 | </td></tr>
|
---|
718 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
719 |
|
---|
720 | Arithmetic
|
---|
721 |
|
---|
722 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Basic-Arithmetic.html">Basic Arithmetic</a></td><td> </td><td align="left" valign="top">Addition, subtraction, multiplication,
|
---|
723 | and division.
|
---|
724 | </td></tr>
|
---|
725 | <tr><td align="left" valign="top">• <a href="Integer-Arithmetic.html">Integer Arithmetic</a></td><td> </td><td align="left" valign="top">How C performs arithmetic with integer values.
|
---|
726 | </td></tr>
|
---|
727 | <tr><td align="left" valign="top">• <a href="Integer-Overflow.html">Integer Overflow</a></td><td> </td><td align="left" valign="top">When an integer value exceeds the range
|
---|
728 | of its type.
|
---|
729 | </td></tr>
|
---|
730 | <tr><td align="left" valign="top">• <a href="Mixed-Mode.html">Mixed Mode</a></td><td> </td><td align="left" valign="top">Calculating with both integer values
|
---|
731 | and floating-point values.
|
---|
732 | </td></tr>
|
---|
733 | <tr><td align="left" valign="top">• <a href="Division-and-Remainder.html">Division and Remainder</a></td><td> </td><td align="left" valign="top">How integer division works.
|
---|
734 | </td></tr>
|
---|
735 | <tr><td align="left" valign="top">• <a href="Numeric-Comparisons.html">Numeric Comparisons</a></td><td> </td><td align="left" valign="top">Comparing numeric values for
|
---|
736 | equality or order.
|
---|
737 | </td></tr>
|
---|
738 | <tr><td align="left" valign="top">• <a href="Shift-Operations.html">Shift Operations</a></td><td> </td><td align="left" valign="top">Shift integer bits left or right.
|
---|
739 | </td></tr>
|
---|
740 | <tr><td align="left" valign="top">• <a href="Bitwise-Operations.html">Bitwise Operations</a></td><td> </td><td align="left" valign="top">Bitwise conjunction, disjunction, negation.
|
---|
741 | </td></tr>
|
---|
742 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
743 |
|
---|
744 | Assignment Expressions
|
---|
745 |
|
---|
746 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Simple-Assignment.html">Simple Assignment</a></td><td> </td><td align="left" valign="top">The basics of storing a value.
|
---|
747 | </td></tr>
|
---|
748 | <tr><td align="left" valign="top">• <a href="Lvalues.html">Lvalues</a></td><td> </td><td align="left" valign="top">Expressions into which a value can be stored.
|
---|
749 | </td></tr>
|
---|
750 | <tr><td align="left" valign="top">• <a href="Modifying-Assignment.html">Modifying Assignment</a></td><td> </td><td align="left" valign="top">Shorthand for changing an lvalue’s contents.
|
---|
751 | </td></tr>
|
---|
752 | <tr><td align="left" valign="top">• <a href="Increment_002fDecrement.html">Increment/Decrement</a></td><td> </td><td align="left" valign="top">Shorthand for incrementing and decrementing
|
---|
753 | an lvalue’s contents.
|
---|
754 | </td></tr>
|
---|
755 | <tr><td align="left" valign="top">• <a href="Postincrement_002fPostdecrement.html">Postincrement/Postdecrement</a></td><td> </td><td align="left" valign="top">Accessing then incrementing or decrementing.
|
---|
756 | </td></tr>
|
---|
757 | <tr><td align="left" valign="top">• <a href="Assignment-in-Subexpressions.html">Assignment in Subexpressions</a></td><td> </td><td align="left" valign="top">How to avoid ambiguity.
|
---|
758 | </td></tr>
|
---|
759 | <tr><td align="left" valign="top">• <a href="Write-Assignments-Separately.html">Write Assignments Separately</a></td><td> </td><td align="left" valign="top">Write assignments as separate statements.
|
---|
760 | </td></tr>
|
---|
761 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
762 |
|
---|
763 | Execution Control Expressions
|
---|
764 |
|
---|
765 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Logical-Operators.html">Logical Operators</a></td><td> </td><td align="left" valign="top">Logical conjunction, disjunction, negation.
|
---|
766 | </td></tr>
|
---|
767 | <tr><td align="left" valign="top">• <a href="Logicals-and-Comparison.html">Logicals and Comparison</a></td><td> </td><td align="left" valign="top">Logical operators with comparison operators.
|
---|
768 | </td></tr>
|
---|
769 | <tr><td align="left" valign="top">• <a href="Logicals-and-Assignments.html">Logicals and Assignments</a></td><td> </td><td align="left" valign="top">Assignments with logical operators.
|
---|
770 | </td></tr>
|
---|
771 | <tr><td align="left" valign="top">• <a href="Conditional-Expression.html">Conditional Expression</a></td><td> </td><td align="left" valign="top">An if/else construct inside expressions.
|
---|
772 | </td></tr>
|
---|
773 | <tr><td align="left" valign="top">• <a href="Comma-Operator.html">Comma Operator</a></td><td> </td><td align="left" valign="top">Build a sequence of subexpressions.
|
---|
774 | </td></tr>
|
---|
775 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
776 |
|
---|
777 | Order of Execution
|
---|
778 |
|
---|
779 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Reordering-of-Operands.html">Reordering of Operands</a></td><td> </td><td align="left" valign="top">Operations in C are not necessarily computed
|
---|
780 | in the order they are written.
|
---|
781 | </td></tr>
|
---|
782 | <tr><td align="left" valign="top">• <a href="Associativity-and-Ordering.html">Associativity and Ordering</a></td><td> </td><td align="left" valign="top">Some associative operations are performed
|
---|
783 | in a particular order; others are not.
|
---|
784 | </td></tr>
|
---|
785 | <tr><td align="left" valign="top">• <a href="Sequence-Points.html">Sequence Points</a></td><td> </td><td align="left" valign="top">Some guarantees about the order of operations.
|
---|
786 | </td></tr>
|
---|
787 | <tr><td align="left" valign="top">• <a href="Postincrement-and-Ordering.html">Postincrement and Ordering</a></td><td> </td><td align="left" valign="top">Ambiguous excution order with postincrement.
|
---|
788 | </td></tr>
|
---|
789 | <tr><td align="left" valign="top">• <a href="Ordering-of-Operands.html">Ordering of Operands</a></td><td> </td><td align="left" valign="top">Evaluation order of operands
|
---|
790 | and function arguments.
|
---|
791 | </td></tr>
|
---|
792 | <tr><td align="left" valign="top">• <a href="Optimization-and-Ordering.html">Optimization and Ordering</a></td><td> </td><td align="left" valign="top">Compiler optimizations can reorder operations
|
---|
793 | only if it has no impact on program results.
|
---|
794 | </td></tr>
|
---|
795 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
796 |
|
---|
797 | Primitive Data Types
|
---|
798 |
|
---|
799 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Integer-Types.html">Integer Types</a></td><td> </td><td align="left" valign="top">Description of integer types.
|
---|
800 | </td></tr>
|
---|
801 | <tr><td align="left" valign="top">• <a href="Floating_002dPoint-Data-Types.html">Floating-Point Data Types</a></td><td> </td><td align="left" valign="top">Description of floating-point types.
|
---|
802 | </td></tr>
|
---|
803 | <tr><td align="left" valign="top">• <a href="Complex-Data-Types.html">Complex Data Types</a></td><td> </td><td align="left" valign="top">Description of complex number types.
|
---|
804 | </td></tr>
|
---|
805 | <tr><td align="left" valign="top">• <a href="The-Void-Type.html">The Void Type</a></td><td> </td><td align="left" valign="top">A type indicating no value at all.
|
---|
806 | </td></tr>
|
---|
807 | <tr><td align="left" valign="top">• <a href="Other-Data-Types.html">Other Data Types</a></td><td> </td><td align="left" valign="top">A brief summary of other types.
|
---|
808 | </td></tr>
|
---|
809 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
810 |
|
---|
811 | Constants
|
---|
812 |
|
---|
813 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Integer-Constants.html">Integer Constants</a></td><td> </td><td align="left" valign="top">Literal integer values.
|
---|
814 | </td></tr>
|
---|
815 | <tr><td align="left" valign="top">• <a href="Integer-Const-Type.html">Integer Const Type</a></td><td> </td><td align="left" valign="top">Types of literal integer values.
|
---|
816 | </td></tr>
|
---|
817 | <tr><td align="left" valign="top">• <a href="Floating-Constants.html">Floating Constants</a></td><td> </td><td align="left" valign="top">Literal floating-point values.
|
---|
818 | </td></tr>
|
---|
819 | <tr><td align="left" valign="top">• <a href="Imaginary-Constants.html">Imaginary Constants</a></td><td> </td><td align="left" valign="top">Literal imaginary number values.
|
---|
820 | </td></tr>
|
---|
821 | <tr><td align="left" valign="top">• <a href="Invalid-Numbers.html">Invalid Numbers</a></td><td> </td><td align="left" valign="top">Avoiding preprocessing number misconceptions.
|
---|
822 | </td></tr>
|
---|
823 | <tr><td align="left" valign="top">• <a href="Character-Constants.html">Character Constants</a></td><td> </td><td align="left" valign="top">Literal character values.
|
---|
824 | </td></tr>
|
---|
825 | <tr><td align="left" valign="top">• <a href="Unicode-Character-Codes.html">Unicode Character Codes</a></td><td> </td><td align="left" valign="top">Unicode characters represented
|
---|
826 | in either UTF-16 or UTF-32.
|
---|
827 | </td></tr>
|
---|
828 | <tr><td align="left" valign="top">• <a href="Wide-Character-Constants.html">Wide Character Constants</a></td><td> </td><td align="left" valign="top">Literal characters values larger than 8 bits.
|
---|
829 | </td></tr>
|
---|
830 | <tr><td align="left" valign="top">• <a href="String-Constants.html">String Constants</a></td><td> </td><td align="left" valign="top">Literal string values.
|
---|
831 | </td></tr>
|
---|
832 | <tr><td align="left" valign="top">• <a href="UTF_002d8-String-Constants.html">UTF-8 String Constants</a></td><td> </td><td align="left" valign="top">Literal UTF-8 string values.
|
---|
833 | </td></tr>
|
---|
834 | <tr><td align="left" valign="top">• <a href="Wide-String-Constants.html">Wide String Constants</a></td><td> </td><td align="left" valign="top">Literal string values made up of
|
---|
835 | 16- or 32-bit characters.
|
---|
836 | </td></tr>
|
---|
837 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
838 |
|
---|
839 | Pointers
|
---|
840 |
|
---|
841 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Address-of-Data.html">Address of Data</a></td><td> </td><td align="left" valign="top">Using the “address-of” operator.
|
---|
842 | </td></tr>
|
---|
843 | <tr><td align="left" valign="top">• <a href="Pointer-Types.html">Pointer Types</a></td><td> </td><td align="left" valign="top">For each type, there is a pointer type.
|
---|
844 | </td></tr>
|
---|
845 | <tr><td align="left" valign="top">• <a href="Pointer-Declarations.html">Pointer Declarations</a></td><td> </td><td align="left" valign="top">Declaring variables with pointer types.
|
---|
846 | </td></tr>
|
---|
847 | <tr><td align="left" valign="top">• <a href="Pointer-Type-Designators.html">Pointer Type Designators</a></td><td> </td><td align="left" valign="top">Designators for pointer types.
|
---|
848 | </td></tr>
|
---|
849 | <tr><td align="left" valign="top">• <a href="Pointer-Dereference.html">Pointer Dereference</a></td><td> </td><td align="left" valign="top">Accessing what a pointer points at.
|
---|
850 | </td></tr>
|
---|
851 | <tr><td align="left" valign="top">• <a href="Null-Pointers.html">Null Pointers</a></td><td> </td><td align="left" valign="top">Pointers which do not point to any object.
|
---|
852 | </td></tr>
|
---|
853 | <tr><td align="left" valign="top">• <a href="Invalid-Dereference.html">Invalid Dereference</a></td><td> </td><td align="left" valign="top">Dereferencing null or invalid pointers.
|
---|
854 | </td></tr>
|
---|
855 | <tr><td align="left" valign="top">• <a href="Void-Pointers.html">Void Pointers</a></td><td> </td><td align="left" valign="top">Totally generic pointers, can cast to any.
|
---|
856 | </td></tr>
|
---|
857 | <tr><td align="left" valign="top">• <a href="Pointer-Comparison.html">Pointer Comparison</a></td><td> </td><td align="left" valign="top">Comparing memory address values.
|
---|
858 | </td></tr>
|
---|
859 | <tr><td align="left" valign="top">• <a href="Pointer-Arithmetic.html">Pointer Arithmetic</a></td><td> </td><td align="left" valign="top">Computing memory address values.
|
---|
860 | </td></tr>
|
---|
861 | <tr><td align="left" valign="top">• <a href="Pointers-and-Arrays.html">Pointers and Arrays</a></td><td> </td><td align="left" valign="top">Using pointer syntax instead of array syntax.
|
---|
862 | </td></tr>
|
---|
863 | <tr><td align="left" valign="top">• <a href="Pointer-Arithmetic-Low-Level.html">Pointer Arithmetic Low Level</a></td><td> </td><td align="left" valign="top">More about computing memory address values.
|
---|
864 | </td></tr>
|
---|
865 | <tr><td align="left" valign="top">• <a href="Pointer-Increment_002fDecrement.html">Pointer Increment/Decrement</a></td><td> </td><td align="left" valign="top">Incrementing and decrementing pointers.
|
---|
866 | </td></tr>
|
---|
867 | <tr><td align="left" valign="top">• <a href="Pointer-Arithmetic-Drawbacks.html">Pointer Arithmetic Drawbacks</a></td><td> </td><td align="left" valign="top">A common pointer bug to watch out for.
|
---|
868 | </td></tr>
|
---|
869 | <tr><td align="left" valign="top">• <a href="Pointer_002dInteger-Conversion.html">Pointer-Integer Conversion</a></td><td> </td><td align="left" valign="top">Converting pointer types to integer types.
|
---|
870 | </td></tr>
|
---|
871 | <tr><td align="left" valign="top">• <a href="Printing-Pointers.html">Printing Pointers</a></td><td> </td><td align="left" valign="top">Using <code>printf</code> for a pointer’s value.
|
---|
872 | </td></tr>
|
---|
873 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
874 |
|
---|
875 | Structures
|
---|
876 |
|
---|
877 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Referencing-Fields.html">Referencing Fields</a></td><td> </td><td align="left" valign="top">Accessing field values in a structure object.
|
---|
878 | </td></tr>
|
---|
879 | <tr><td align="left" valign="top">• <a href="Dynamic-Memory-Allocation.html">Dynamic Memory Allocation</a></td><td> </td><td align="left" valign="top">Allocating space for objects
|
---|
880 | while the program is running.
|
---|
881 | </td></tr>
|
---|
882 | <tr><td align="left" valign="top">• <a href="Field-Offset.html">Field Offset</a></td><td> </td><td align="left" valign="top">Memory layout of fields within a structure.
|
---|
883 | </td></tr>
|
---|
884 | <tr><td align="left" valign="top">• <a href="Structure-Layout.html">Structure Layout</a></td><td> </td><td align="left" valign="top">Planning the memory layout of fields.
|
---|
885 | </td></tr>
|
---|
886 | <tr><td align="left" valign="top">• <a href="Packed-Structures.html">Packed Structures</a></td><td> </td><td align="left" valign="top">Packing structure fields as close as possible.
|
---|
887 | </td></tr>
|
---|
888 | <tr><td align="left" valign="top">• <a href="Bit-Fields.html">Bit Fields</a></td><td> </td><td align="left" valign="top">Dividing integer fields
|
---|
889 | into fields with fewer bits.
|
---|
890 | </td></tr>
|
---|
891 | <tr><td align="left" valign="top">• <a href="Bit-Field-Packing.html">Bit Field Packing</a></td><td> </td><td align="left" valign="top">How bit fields pack together in integers.
|
---|
892 | </td></tr>
|
---|
893 | <tr><td align="left" valign="top">• <a href="const-Fields.html">const Fields</a></td><td> </td><td align="left" valign="top">Making structure fields immutable.
|
---|
894 | </td></tr>
|
---|
895 | <tr><td align="left" valign="top">• <a href="Zero-Length.html">Zero Length</a></td><td> </td><td align="left" valign="top">Zero-length array as a variable-length object.
|
---|
896 | </td></tr>
|
---|
897 | <tr><td align="left" valign="top">• <a href="Flexible-Array-Fields.html">Flexible Array Fields</a></td><td> </td><td align="left" valign="top">Another approach to variable-length objects.
|
---|
898 | </td></tr>
|
---|
899 | <tr><td align="left" valign="top">• <a href="Overlaying-Structures.html">Overlaying Structures</a></td><td> </td><td align="left" valign="top">Casting one structure type
|
---|
900 | over an object of another structure type.
|
---|
901 | </td></tr>
|
---|
902 | <tr><td align="left" valign="top">• <a href="Structure-Assignment.html">Structure Assignment</a></td><td> </td><td align="left" valign="top">Assigning values to structure objects.
|
---|
903 | </td></tr>
|
---|
904 | <tr><td align="left" valign="top">• <a href="Unions.html">Unions</a></td><td> </td><td align="left" valign="top">Viewing the same object in different types.
|
---|
905 | </td></tr>
|
---|
906 | <tr><td align="left" valign="top">• <a href="Packing-With-Unions.html">Packing With Unions</a></td><td> </td><td align="left" valign="top">Using a union type to pack various types into
|
---|
907 | the same memory space.
|
---|
908 | </td></tr>
|
---|
909 | <tr><td align="left" valign="top">• <a href="Cast-to-Union.html">Cast to Union</a></td><td> </td><td align="left" valign="top">Casting a value one of the union’s alternative
|
---|
910 | types to the type of the union itself.
|
---|
911 | </td></tr>
|
---|
912 | <tr><td align="left" valign="top">• <a href="Structure-Constructors.html">Structure Constructors</a></td><td> </td><td align="left" valign="top">Building new structure objects.
|
---|
913 | </td></tr>
|
---|
914 | <tr><td align="left" valign="top">• <a href="Unnamed-Types-as-Fields.html">Unnamed Types as Fields</a></td><td> </td><td align="left" valign="top">Fields’ types do not always need names.
|
---|
915 | </td></tr>
|
---|
916 | <tr><td align="left" valign="top">• <a href="Incomplete-Types.html">Incomplete Types</a></td><td> </td><td align="left" valign="top">Types which have not been fully defined.
|
---|
917 | </td></tr>
|
---|
918 | <tr><td align="left" valign="top">• <a href="Intertwined-Incomplete-Types.html">Intertwined Incomplete Types</a></td><td> </td><td align="left" valign="top">Defining mutually-recursive structue types.
|
---|
919 | </td></tr>
|
---|
920 | <tr><td align="left" valign="top">• <a href="Type-Tags.html">Type Tags</a></td><td> </td><td align="left" valign="top">Scope of structure and union type tags.
|
---|
921 | </td></tr>
|
---|
922 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
923 |
|
---|
924 | Arrays
|
---|
925 |
|
---|
926 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Accessing-Array-Elements.html">Accessing Array Elements</a></td><td> </td><td align="left" valign="top">How to access individual elements of an array.
|
---|
927 | </td></tr>
|
---|
928 | <tr><td align="left" valign="top">• <a href="Declaring-an-Array.html">Declaring an Array</a></td><td> </td><td align="left" valign="top">How to name and reserve space for a new array.
|
---|
929 | </td></tr>
|
---|
930 | <tr><td align="left" valign="top">• <a href="Strings.html">Strings</a></td><td> </td><td align="left" valign="top">A string in C is a special case of array.
|
---|
931 | </td></tr>
|
---|
932 | <tr><td align="left" valign="top">• <a href="Incomplete-Array-Types.html">Incomplete Array Types</a></td><td> </td><td align="left" valign="top">Naming, but not allocating, a new array.
|
---|
933 | </td></tr>
|
---|
934 | <tr><td align="left" valign="top">• <a href="Limitations-of-C-Arrays.html">Limitations of C Arrays</a></td><td> </td><td align="left" valign="top">Arrays are not first-class objects.
|
---|
935 | </td></tr>
|
---|
936 | <tr><td align="left" valign="top">• <a href="Multidimensional-Arrays.html">Multidimensional Arrays</a></td><td> </td><td align="left" valign="top">Arrays of arrays.
|
---|
937 | </td></tr>
|
---|
938 | <tr><td align="left" valign="top">• <a href="Constructing-Array-Values.html">Constructing Array Values</a></td><td> </td><td align="left" valign="top">Assigning values to an entire array at once.
|
---|
939 | </td></tr>
|
---|
940 | <tr><td align="left" valign="top">• <a href="Arrays-of-Variable-Length.html">Arrays of Variable Length</a></td><td> </td><td align="left" valign="top">Declaring arrays of non-constant size.
|
---|
941 | </td></tr>
|
---|
942 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
943 |
|
---|
944 | Statements
|
---|
945 |
|
---|
946 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Expression-Statement.html">Expression Statement</a></td><td> </td><td align="left" valign="top">Evaluate an expression, as a statement,
|
---|
947 | usually done for a side effect.
|
---|
948 | </td></tr>
|
---|
949 | <tr><td align="left" valign="top">• <a href="if-Statement.html">if Statement</a></td><td> </td><td align="left" valign="top">Basic conditional execution.
|
---|
950 | </td></tr>
|
---|
951 | <tr><td align="left" valign="top">• <a href="if_002delse-Statement.html">if-else Statement</a></td><td> </td><td align="left" valign="top">Multiple branches for conditional execution.
|
---|
952 | </td></tr>
|
---|
953 | <tr><td align="left" valign="top">• <a href="Blocks.html">Blocks</a></td><td> </td><td align="left" valign="top">Grouping multiple statements together.
|
---|
954 | </td></tr>
|
---|
955 | <tr><td align="left" valign="top">• <a href="return-Statement.html">return Statement</a></td><td> </td><td align="left" valign="top">Return a value from a function.
|
---|
956 | </td></tr>
|
---|
957 | <tr><td align="left" valign="top">• <a href="Loop-Statements.html">Loop Statements</a></td><td> </td><td align="left" valign="top">Repeatedly executing a statement or block.
|
---|
958 | </td></tr>
|
---|
959 | <tr><td align="left" valign="top">• <a href="switch-Statement.html">switch Statement</a></td><td> </td><td align="left" valign="top">Multi-way conditional choices.
|
---|
960 | </td></tr>
|
---|
961 | <tr><td align="left" valign="top">• <a href="switch-Example.html">switch Example</a></td><td> </td><td align="left" valign="top">A plausible example of using <code>switch</code>.
|
---|
962 | </td></tr>
|
---|
963 | <tr><td align="left" valign="top">• <a href="Duffs-Device.html">Duffs Device</a></td><td> </td><td align="left" valign="top">A special way to use <code>switch</code>.
|
---|
964 | </td></tr>
|
---|
965 | <tr><td align="left" valign="top">• <a href="Case-Ranges.html">Case Ranges</a></td><td> </td><td align="left" valign="top">Ranges of values for <code>switch</code> cases.
|
---|
966 | </td></tr>
|
---|
967 | <tr><td align="left" valign="top">• <a href="Null-Statement.html">Null Statement</a></td><td> </td><td align="left" valign="top">A statement that does nothing.
|
---|
968 | </td></tr>
|
---|
969 | <tr><td align="left" valign="top">• <a href="goto-Statement.html">goto Statement</a></td><td> </td><td align="left" valign="top">Jump to another point in the source code,
|
---|
970 | identified by a label.
|
---|
971 | </td></tr>
|
---|
972 | <tr><td align="left" valign="top">• <a href="Local-Labels.html">Local Labels</a></td><td> </td><td align="left" valign="top">Labels with limited scope.
|
---|
973 | </td></tr>
|
---|
974 | <tr><td align="left" valign="top">• <a href="Labels-as-Values.html">Labels as Values</a></td><td> </td><td align="left" valign="top">Getting the address of a label.
|
---|
975 | </td></tr>
|
---|
976 | <tr><td align="left" valign="top">• <a href="Statement-Exprs.html">Statement Exprs</a></td><td> </td><td align="left" valign="top">A series of statements used as an expression.
|
---|
977 | </td></tr>
|
---|
978 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
979 |
|
---|
980 | Variables
|
---|
981 |
|
---|
982 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Variable-Declarations.html">Variable Declarations</a></td><td> </td><td align="left" valign="top">Name a variable and and reserve space for it.
|
---|
983 | </td></tr>
|
---|
984 | <tr><td align="left" valign="top">• <a href="Initializers.html">Initializers</a></td><td> </td><td align="left" valign="top">Assigning inital values to variables.
|
---|
985 | </td></tr>
|
---|
986 | <tr><td align="left" valign="top">• <a href="Designated-Inits.html">Designated Inits</a></td><td> </td><td align="left" valign="top">Assigning initial values to array elements
|
---|
987 | at particular array indices.
|
---|
988 | </td></tr>
|
---|
989 | <tr><td align="left" valign="top">• <a href="Auto-Type.html">Auto Type</a></td><td> </td><td align="left" valign="top">Obtaining the type of a variable.
|
---|
990 | </td></tr>
|
---|
991 | <tr><td align="left" valign="top">• <a href="Local-Variables.html">Local Variables</a></td><td> </td><td align="left" valign="top">Variables declared in function definitions.
|
---|
992 | </td></tr>
|
---|
993 | <tr><td align="left" valign="top">• <a href="File_002dScope-Variables.html">File-Scope Variables</a></td><td> </td><td align="left" valign="top">Variables declared outside of
|
---|
994 | function definitions.
|
---|
995 | </td></tr>
|
---|
996 | <tr><td align="left" valign="top">• <a href="Static-Local-Variables.html">Static Local Variables</a></td><td> </td><td align="left" valign="top">Variables declared within functions,
|
---|
997 | but with permanent storage allocation.
|
---|
998 | </td></tr>
|
---|
999 | <tr><td align="left" valign="top">• <a href="Extern-Declarations.html">Extern Declarations</a></td><td> </td><td align="left" valign="top">Declaring a variable
|
---|
1000 | which is allocated somewhere else.
|
---|
1001 | </td></tr>
|
---|
1002 | <tr><td align="left" valign="top">• <a href="Allocating-File_002dScope.html">Allocating File-Scope</a></td><td> </td><td align="left" valign="top">When is space allocated
|
---|
1003 | for file-scope variables?
|
---|
1004 | </td></tr>
|
---|
1005 | <tr><td align="left" valign="top">• <a href="auto-and-register.html">auto and register</a></td><td> </td><td align="left" valign="top">Historically used storage directions.
|
---|
1006 | </td></tr>
|
---|
1007 | <tr><td align="left" valign="top">• <a href="Omitting-Types.html">Omitting Types</a></td><td> </td><td align="left" valign="top">The bad practice of declaring variables
|
---|
1008 | with implicit type.
|
---|
1009 | </td></tr>
|
---|
1010 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1011 |
|
---|
1012 | Type Qualifiers
|
---|
1013 |
|
---|
1014 | </pre></th></tr><tr><td align="left" valign="top">• <a href="const.html">const</a></td><td> </td><td align="left" valign="top">Variables whose values don’t change.
|
---|
1015 | </td></tr>
|
---|
1016 | <tr><td align="left" valign="top">• <a href="volatile.html">volatile</a></td><td> </td><td align="left" valign="top">Variables whose values may be accessed
|
---|
1017 | or changed outside of the control of
|
---|
1018 | this program.
|
---|
1019 | </td></tr>
|
---|
1020 | <tr><td align="left" valign="top">• <a href="restrict-Pointers.html">restrict Pointers</a></td><td> </td><td align="left" valign="top">Restricted pointers for code optimization.
|
---|
1021 | </td></tr>
|
---|
1022 | <tr><td align="left" valign="top">• <a href="restrict-Pointer-Example.html">restrict Pointer Example</a></td><td> </td><td align="left" valign="top">Example of how that works.
|
---|
1023 | </td></tr>
|
---|
1024 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1025 |
|
---|
1026 | Functions
|
---|
1027 |
|
---|
1028 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Function-Definitions.html">Function Definitions</a></td><td> </td><td align="left" valign="top">Writing the body of a function.
|
---|
1029 | </td></tr>
|
---|
1030 | <tr><td align="left" valign="top">• <a href="Function-Declarations.html">Function Declarations</a></td><td> </td><td align="left" valign="top">Declaring the interface of a function.
|
---|
1031 | </td></tr>
|
---|
1032 | <tr><td align="left" valign="top">• <a href="Function-Calls.html">Function Calls</a></td><td> </td><td align="left" valign="top">Using functions.
|
---|
1033 | </td></tr>
|
---|
1034 | <tr><td align="left" valign="top">• <a href="Function-Call-Semantics.html">Function Call Semantics</a></td><td> </td><td align="left" valign="top">Call-by-value argument passing.
|
---|
1035 | </td></tr>
|
---|
1036 | <tr><td align="left" valign="top">• <a href="Function-Pointers.html">Function Pointers</a></td><td> </td><td align="left" valign="top">Using references to functions.
|
---|
1037 | </td></tr>
|
---|
1038 | <tr><td align="left" valign="top">• <a href="The-main-Function.html">The main Function</a></td><td> </td><td align="left" valign="top">Where execution of a GNU C program begins.
|
---|
1039 | </td></tr>
|
---|
1040 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1041 |
|
---|
1042 | Type Conversions
|
---|
1043 |
|
---|
1044 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Explicit-Type-Conversion.html">Explicit Type Conversion</a></td><td> </td><td align="left" valign="top">Casting a value from one type to another.
|
---|
1045 | </td></tr>
|
---|
1046 | <tr><td align="left" valign="top">• <a href="Assignment-Type-Conversions.html">Assignment Type Conversions</a></td><td> </td><td align="left" valign="top">Automatic conversion by assignment operation.
|
---|
1047 | </td></tr>
|
---|
1048 | <tr><td align="left" valign="top">• <a href="Argument-Promotions.html">Argument Promotions</a></td><td> </td><td align="left" valign="top">Automatic conversion of function parameters.
|
---|
1049 | </td></tr>
|
---|
1050 | <tr><td align="left" valign="top">• <a href="Operand-Promotions.html">Operand Promotions</a></td><td> </td><td align="left" valign="top">Automatic conversion of arithmetic operands.
|
---|
1051 | </td></tr>
|
---|
1052 | <tr><td align="left" valign="top">• <a href="Common-Type.html">Common Type</a></td><td> </td><td align="left" valign="top">When operand types differ, which one is used?
|
---|
1053 | </td></tr>
|
---|
1054 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1055 |
|
---|
1056 | Scope
|
---|
1057 |
|
---|
1058 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Scope.html">Scope</a></td><td> </td><td align="left" valign="top">Different categories of identifier scope.
|
---|
1059 | </td></tr>
|
---|
1060 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1061 |
|
---|
1062 | Preprocessing
|
---|
1063 |
|
---|
1064 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Preproc-Overview.html">Preproc Overview</a></td><td> </td><td align="left" valign="top">Introduction to the C preprocessor.
|
---|
1065 | </td></tr>
|
---|
1066 | <tr><td align="left" valign="top">• <a href="Directives.html">Directives</a></td><td> </td><td align="left" valign="top">The form of preprocessor directives.
|
---|
1067 | </td></tr>
|
---|
1068 | <tr><td align="left" valign="top">• <a href="Preprocessing-Tokens.html">Preprocessing Tokens</a></td><td> </td><td align="left" valign="top">The lexical elements of preprocessing.
|
---|
1069 | </td></tr>
|
---|
1070 | <tr><td align="left" valign="top">• <a href="Header-Files.html">Header Files</a></td><td> </td><td align="left" valign="top">Including one source file in another.
|
---|
1071 | </td></tr>
|
---|
1072 | <tr><td align="left" valign="top">• <a href="Macros.html">Macros</a></td><td> </td><td align="left" valign="top">Macro expansion by the preprocessor.
|
---|
1073 | </td></tr>
|
---|
1074 | <tr><td align="left" valign="top">• <a href="Conditionals.html">Conditionals</a></td><td> </td><td align="left" valign="top">Controling whether to compile some lines
|
---|
1075 | or ignore them.
|
---|
1076 | </td></tr>
|
---|
1077 | <tr><td align="left" valign="top">• <a href="Diagnostics.html">Diagnostics</a></td><td> </td><td align="left" valign="top">Reporting warnings and errors.
|
---|
1078 | </td></tr>
|
---|
1079 | <tr><td align="left" valign="top">• <a href="Line-Control.html">Line Control</a></td><td> </td><td align="left" valign="top">Reporting source line numbers.
|
---|
1080 | </td></tr>
|
---|
1081 | <tr><td align="left" valign="top">• <a href="Null-Directive.html">Null Directive</a></td><td> </td><td align="left" valign="top">A preprocessing no-op.
|
---|
1082 | </td></tr>
|
---|
1083 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1084 |
|
---|
1085 | Integers in Depth
|
---|
1086 |
|
---|
1087 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Integer-Representations.html">Integer Representations</a></td><td> </td><td align="left" valign="top">How integer values appear in memory.
|
---|
1088 | </td></tr>
|
---|
1089 | <tr><td align="left" valign="top">• <a href="Maximum-and-Minimum-Values.html">Maximum and Minimum Values</a></td><td> </td><td align="left" valign="top">Value ranges of integer types.
|
---|
1090 | </td></tr>
|
---|
1091 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1092 |
|
---|
1093 | Floating Point in Depth
|
---|
1094 |
|
---|
1095 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Floating-Representations.html">Floating Representations</a></td><td> </td><td align="left" valign="top">How floating-point values appear in memory.
|
---|
1096 | </td></tr>
|
---|
1097 | <tr><td align="left" valign="top">• <a href="Floating-Type-Specs.html">Floating Type Specs</a></td><td> </td><td align="left" valign="top">Precise details of memory representations.
|
---|
1098 | </td></tr>
|
---|
1099 | <tr><td align="left" valign="top">• <a href="Special-Float-Values.html">Special Float Values</a></td><td> </td><td align="left" valign="top">Infinity, Not a Number, and Subnormal Numbers.
|
---|
1100 | </td></tr>
|
---|
1101 | <tr><td align="left" valign="top">• <a href="Invalid-Optimizations.html">Invalid Optimizations</a></td><td> </td><td align="left" valign="top">Don’t mess up non-numbers and signed zeros.
|
---|
1102 | </td></tr>
|
---|
1103 | <tr><td align="left" valign="top">• <a href="Exception-Flags.html">Exception Flags</a></td><td> </td><td align="left" valign="top">Handling certain conditions in floating point.
|
---|
1104 | </td></tr>
|
---|
1105 | <tr><td align="left" valign="top">• <a href="Exact-Floating_002dPoint.html">Exact Floating-Point</a></td><td> </td><td align="left" valign="top">Not all floating calculations lose precision.
|
---|
1106 | </td></tr>
|
---|
1107 | <tr><td align="left" valign="top">• <a href="Rounding.html">Rounding</a></td><td> </td><td align="left" valign="top">When a floating result can’t be represented
|
---|
1108 | exactly in the floating-point type in use.
|
---|
1109 | </td></tr>
|
---|
1110 | <tr><td align="left" valign="top">• <a href="Rounding-Issues.html">Rounding Issues</a></td><td> </td><td align="left" valign="top">Avoid magnifying rounding errors.
|
---|
1111 | </td></tr>
|
---|
1112 | <tr><td align="left" valign="top">• <a href="Significance-Loss.html">Significance Loss</a></td><td> </td><td align="left" valign="top">Subtracting numbers that are almost equal.
|
---|
1113 | </td></tr>
|
---|
1114 | <tr><td align="left" valign="top">• <a href="Fused-Multiply_002dAdd.html">Fused Multiply-Add</a></td><td> </td><td align="left" valign="top">Taking advantage of a special floating-point
|
---|
1115 | instruction for faster execution.
|
---|
1116 | </td></tr>
|
---|
1117 | <tr><td align="left" valign="top">• <a href="Error-Recovery.html">Error Recovery</a></td><td> </td><td align="left" valign="top">Determining rounding errors.
|
---|
1118 | </td></tr>
|
---|
1119 | <tr><td align="left" valign="top">• <a href="Exact-Floating-Constants.html">Exact Floating Constants</a></td><td> </td><td align="left" valign="top">Precisely specified floating-point numbers.
|
---|
1120 | </td></tr>
|
---|
1121 | <tr><td align="left" valign="top">• <a href="Handling-Infinity.html">Handling Infinity</a></td><td> </td><td align="left" valign="top">When floating calculation is out of range.
|
---|
1122 | </td></tr>
|
---|
1123 | <tr><td align="left" valign="top">• <a href="Handling-NaN.html">Handling NaN</a></td><td> </td><td align="left" valign="top">What floating calculation is undefined.
|
---|
1124 | </td></tr>
|
---|
1125 | <tr><td align="left" valign="top">• <a href="Signed-Zeros.html">Signed Zeros</a></td><td> </td><td align="left" valign="top">Positive zero vs. negative zero.
|
---|
1126 | </td></tr>
|
---|
1127 | <tr><td align="left" valign="top">• <a href="Scaling-by-the-Base.html">Scaling by the Base</a></td><td> </td><td align="left" valign="top">A useful exact floating-point operation.
|
---|
1128 | </td></tr>
|
---|
1129 | <tr><td align="left" valign="top">• <a href="Rounding-Control.html">Rounding Control</a></td><td> </td><td align="left" valign="top">Specifying some rounding behaviors.
|
---|
1130 | </td></tr>
|
---|
1131 | <tr><td align="left" valign="top">• <a href="Machine-Epsilon.html">Machine Epsilon</a></td><td> </td><td align="left" valign="top">The smallest number you can add to 1.0
|
---|
1132 | and get a sum which is larger than 1.0.
|
---|
1133 | </td></tr>
|
---|
1134 | <tr><td align="left" valign="top">• <a href="Complex-Arithmetic.html">Complex Arithmetic</a></td><td> </td><td align="left" valign="top">Details of arithmetic with complex numbers.
|
---|
1135 | </td></tr>
|
---|
1136 | <tr><td align="left" valign="top">• <a href="Round_002dTrip-Base-Conversion.html">Round-Trip Base Conversion</a></td><td> </td><td align="left" valign="top">What happens between base-2 and base-10.
|
---|
1137 | </td></tr>
|
---|
1138 | <tr><td align="left" valign="top">• <a href="Further-Reading.html">Further Reading</a></td><td> </td><td align="left" valign="top">References for floating-point numbers.
|
---|
1139 | </td></tr>
|
---|
1140 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1141 |
|
---|
1142 | Directing Compilation
|
---|
1143 |
|
---|
1144 | </pre></th></tr><tr><td align="left" valign="top">• <a href="Pragmas.html">Pragmas</a></td><td> </td><td align="left" valign="top">Controling compilation of some constructs.
|
---|
1145 | </td></tr>
|
---|
1146 | <tr><td align="left" valign="top">• <a href="Static-Assertions.html">Static Assertions</a></td><td> </td><td align="left" valign="top">Compile-time tests for conditions.
|
---|
1147 | </td></tr>
|
---|
1148 | <tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
|
---|
1149 |
|
---|
1150 | </pre></th></tr></table>
|
---|
1151 |
|
---|
1152 | <hr>
|
---|
1153 | <div class="header">
|
---|
1154 | <p>
|
---|
1155 | Next: <a href="The-First-Example.html" accesskey="n" rel="next">The First Example</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Index.html" title="Index" rel="index">Index</a>]</p>
|
---|
1156 | </div>
|
---|
1157 |
|
---|
1158 |
|
---|
1159 |
|
---|
1160 | </body>
|
---|
1161 | </html>
|
---|