blob: a06d6090179fac03ef95bbe00fde06aa961c3564 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<h1 id="firstHeading" class="firstHeading">C language</h1> <p>This is a reference of the core C language constructs.</p>
<table> <tr valign="top"> <td> <p><b><a href="language/basic_concepts" title="c/language/basic concepts"> Basic concepts</a></b></p>
<p><a href="comment" title="c/comment"> Comments</a><br> <a href="language/ascii" title="c/language/ascii"> ASCII chart</a><br> <a href="language/charset" title="c/language/charset"> Character sets and encodings</a><br> <a href="language/translation_phases" title="c/language/translation phases"> Translation phases</a><br> <a href="language/punctuators" title="c/language/punctuators"> Punctuation</a><br> <a href="language/identifier" title="c/language/identifier"> Identifier </a> - <a href="language/scope" title="c/language/scope"> Scope</a> - <a href="language/lifetime" title="c/language/lifetime"> Lifetime</a><br> <a href="language/name_space" title="c/language/name space"> Lookup and Name Spaces</a><br> <a href="language/type" title="c/language/type"> Type</a> - <a href="language/arithmetic_types" title="c/language/arithmetic types"> Arithmetic types</a><br> <a href="language/object" title="c/language/object"> Objects and Alignment</a> <br> <a href="language/main_function" title="c/language/main function"> The <code>main</code> function</a><br> <a href="language/as_if" title="c/language/as if"> As-if rule</a><br> <a href="language/behavior" title="c/language/behavior"> Undefined behavior</a><br> <a href="language/memory_model" title="c/language/memory model"> Memory model and Data races</a><br></p>
<p><b><a href="keyword" title="c/keyword"> Keywords</a></b></p>
<p><b><a href="preprocessor" title="c/preprocessor"> Preprocessor</a></b></p>
<p><a href="preprocessor/conditional" title="c/preprocessor/conditional"> <code>#if</code> - <code>#ifdef</code> - <code>#ifndef</code> - <code>#elif</code></a><br> <a href="preprocessor/conditional" title="c/preprocessor/conditional"> <code>#elifdef</code> - <code>#elifndef</code></a><span class="t-mark-rev t-since-c23">(C23)</span><br> <a href="preprocessor/replace" title="c/preprocessor/replace"> <code>#define</code> - <code>#</code> - <code>##</code></a><br> <a href="preprocessor/include" title="c/preprocessor/include"><code>#include</code></a> - <a href="preprocessor/impl" title="c/preprocessor/impl"><code>#pragma</code></a><br> <a href="preprocessor/line" title="c/preprocessor/line"><code>#line</code></a> - <a href="preprocessor/error" title="c/preprocessor/error"><code>#error</code></a><br> <a href="preprocessor/error" title="c/preprocessor/error"><code>#warning</code></a><span class="t-mark-rev t-since-c23">(C23)</span> - <a href="preprocessor/embed" title="c/preprocessor/embed"><code>#embed</code></a><span class="t-mark-rev t-since-c23">(C23)</span></p>
<p><b><a href="language/statements" title="c/language/statements"> Statements</a></b></p>
<p><a href="language/if" title="c/language/if"><code>if</code></a> - <a href="language/switch" title="c/language/switch"><code>switch</code></a><br> <a href="language/for" title="c/language/for"><code>for</code></a><br> <a href="language/while" title="c/language/while"><code>while</code></a> - <a href="language/do" title="c/language/do"><code>do</code>-<code>while</code></a><br> <a href="language/continue" title="c/language/continue"><code>continue</code></a> - <a href="language/break" title="c/language/break"><code>break</code></a><br> <a href="language/goto" title="c/language/goto"><code>goto</code></a> - <a href="language/return" title="c/language/return"><code>return</code></a><br></p>
</td> <td> <p><b><a href="language/expressions" title="c/language/expressions"> Expressions</a></b></p>
<p><a href="language/value_category" title="c/language/value category"> Value categories</a><br> <a href="language/eval_order" title="c/language/eval order"> Evaluation order and sequencing</a><br> <a href="language/expressions#Constants_and_literals" title="c/language/expressions"> Constants and literals</a><br> <a href="language/integer_constant" title="c/language/integer constant">Integer constants</a><br> <a href="language/floating_constant" title="c/language/floating constant">Floating constants</a><br> <a href="language/character_constant" title="c/language/character constant">Character constants</a><br> <a href="language/bool_constant" title="c/language/bool constant"><code>true</code>/<code>false</code></a><span class="t-mark-rev t-since-c23">(C23)</span><br> <a href="language/nullptr" title="c/language/nullptr"><code>nullptr</code></a><span class="t-mark-rev t-since-c23">(C23)</span><br> <a href="language/string_literal" title="c/language/string literal">String literals</a><br> <a href="language/compound_literal" title="c/language/compound literal">Compound literals</a><span class="t-mark-rev t-since-c99">(C99)</span><br> <a href="language/constant_expression" title="c/language/constant expression"> Constant expressions</a><br> <a href="language/conversion" title="c/language/conversion"> Implicit conversions</a> <br> <a href="language/expressions#Operators" title="c/language/expressions">Operators</a><br> <a href="language/operator_member_access" title="c/language/operator member access"> Member access and indirection</a><br> <a href="language/operator_logical" title="c/language/operator logical"> Logical</a> - <a href="language/operator_comparison" title="c/language/operator comparison"> Comparison</a><br> <a href="language/operator_arithmetic" title="c/language/operator arithmetic"> Arithmetic</a> - <a href="language/operator_assignment" title="c/language/operator assignment"> Assignment</a><br> <a href="language/operator_incdec" title="c/language/operator incdec"> Increment and Decrement</a><br> <a href="language/operator_other" title="c/language/operator other"> Call, Comma, Ternary</a><br> <a href="language/sizeof" title="c/language/sizeof"><code>sizeof</code></a> - <a href="language/_alignof" title="c/language/ Alignof"><code>_Alignof</code></a><span class="t-mark-rev t-since-c11">(C11)</span><br> <a href="language/cast" title="c/language/cast"> Cast operators</a><br> <a href="language/operator_precedence" title="c/language/operator precedence"> Operator precedence</a><br> <a href="language/generic" title="c/language/generic"> Generic selection</a><span class="t-mark-rev t-since-c11">(C11)</span><br></p>
<p><b><a href="language/initialization" title="c/language/initialization"> Initialization</a></b></p>
<p><a href="language/scalar_initialization" title="c/language/scalar initialization"> Scalar</a><br> <a href="language/array_initialization" title="c/language/array initialization"> Array</a><br> <a href="language/struct_initialization" title="c/language/struct initialization"> Structure/Union </a><br></p>
</td> <td> <p><b><a href="language/declarations" title="c/language/declarations"> Declarations</a></b></p>
<p><a href="language/pointer" title="c/language/pointer"> Pointers</a> - <a href="language/array" title="c/language/array"> Arrays</a><br> <a href="language/enum" title="c/language/enum"> Enumerations</a><br> <a href="language/storage_duration" title="c/language/storage duration"> Storage duration and Linkage </a><br> <a href="language/const" title="c/language/const"><code>const</code></a> - <a href="language/volatile" title="c/language/volatile"><code>volatile</code></a> - <a href="language/restrict" title="c/language/restrict"><code>restrict</code></a><span class="t-mark-rev t-since-c99">(C99)</span><br> <a href="language/struct" title="c/language/struct"><code>struct</code></a> - <a href="language/union" title="c/language/union"><code>union</code></a> - <a href="language/bit_field" title="c/language/bit field"> Bit-fields</a><br> <a href="language/_alignas" title="c/language/ Alignas"><code>_Alignas</code></a><span class="t-mark-rev t-since-c11">(C11)</span> - <a href="language/typedef" title="c/language/typedef"><code>typedef</code></a><br> <a href="language/_static_assert" title="c/language/ Static assert"><code>_Static_assert</code></a><span class="t-mark-rev t-since-c11">(C11)</span><br> <a href="language/atomic" title="c/language/atomic"> Atomic types</a><span class="t-mark-rev t-since-c11">(C11)</span><br> <a href="language/extern" title="c/language/extern"> External and tentative definitions</a><br> <a href="language/attributes" title="c/language/attributes"> Attributes</a><span class="t-mark-rev t-since-c23">(C23)</span><br></p>
<p><b><a href="language/functions" title="c/language/functions"> Functions</a></b></p>
<p><a href="language/function_declaration" title="c/language/function declaration"> Function declaration</a><br> <a href="language/function_definition" title="c/language/function definition"> Function definition</a><br> <a href="language/inline" title="c/language/inline"><code>inline</code></a><span class="t-mark-rev t-since-c99">(C99)</span><br> <a href="language/_noreturn" title="c/language/ Noreturn"><code>_Noreturn</code></a><span class="t-mark-rev t-since-c11">(C11)</span><span class="t-mark-rev t-deprecated-c23">(deprecated in C23)</span><br> <a href="language/variadic" title="c/language/variadic"> Variadic arguments</a><br></p>
<p><b>Miscellaneous</b></p>
<p><a href="language/history" title="c/language/history"> History of C</a><br> <a href="language/conformance" title="c/language/conformance"> Conformance</a><br> <a href="language/asm" title="c/language/asm"> Inline assembly</a><br> <a href="https://en.cppreference.com/mwiki/index.php?title=c/language/signal&action=edit&redlink=1" class="new" title="c/language/signal (page does not exist)"> Signal handling</a> <br> <a href="language/analyzability" title="c/language/analyzability"> Analyzability</a><span class="t-mark-rev t-since-c11">(C11)</span><br></p>
<br> </td>
</tr>
</table> <h3 id="See_also"> See also</h3> <table class="t-dsc-begin"> <tr class="t-dsc"> <td colspan="2"> <span><a href="https://en.cppreference.com/w/cpp/language" title="cpp/language">C++ documentation</a></span> for <span class=""><span>C++ language constructs</span></span> </td>
</tr> </table> <div class="_attribution">
<p class="_attribution-p">
© cppreference.com<br>Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.<br>
<a href="https://en.cppreference.com/w/c/language" class="_attribution-link">https://en.cppreference.com/w/c/language</a>
</p>
</div>
|