Files
hustoj/web/cppreference-zh/chmhelp/c-language-scope.html
2025-08-01 12:57:54 +08:00

236 lines
27 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#20316;&#29992;&#22495;</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-c_language_scope skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#20316;&#29992;&#22495;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="c.html">c</a>&lrm; | <a href="c-language.html">language</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>C &#31243;&#24207;&#20013;&#20986;&#29616;&#30340;&#27599;&#20010;<a href="c-language-identifier.html">&#26631;&#35782;&#31526;</a>&#37117;&#20165;&#22312;&#19968;&#20123;&#21487;&#33021;&#19981;&#36830;&#32493;&#30340;&#37096;&#20998;<i>&#21487;&#35265;</i>&#65288;&#21363;&#21487;&#20351;&#29992;&#65289;&#65292;&#36825;&#20123;&#37096;&#20998;&#34987;&#31216;&#20026;&#20854;<i>&#20316;&#29992;&#22495;</i>&#12290;</p>
<p>&#22312;&#20316;&#29992;&#22495;&#20869;&#65292;&#26631;&#35782;&#31526;&#20165;&#33509;&#22312;&#19981;&#21516;<a href="c-language-name_space.html">&#21629;&#21517;&#31354;&#38388;</a>&#20013;&#65292;&#25165;&#21487;&#20197;&#25351;&#20195;&#22810;&#20110;&#19968;&#20010;&#23454;&#20307;&#12290;</p>
<p>C &#25317;&#26377;&#22235;&#31181;&#20316;&#29992;&#22495;&#65306;</p>
<dl>
<dd>
<ul>
<li>&#22359;&#20316;&#29992;&#22495;</li>
<li>&#25991;&#20214;&#20316;&#29992;&#22495;</li>
<li>&#20989;&#25968;&#20316;&#29992;&#22495;</li>
<li>&#20989;&#25968;&#21407;&#22411;&#20316;&#29992;&#22495;</li>
</ul>
</dd>
</dl>
<h3><span class="mw-headline" id=".E5.B5.8C.E5.A5.97.E4.BD.9C.E7.94.A8.E5.9F.9F">&#23884;&#22871;&#20316;&#29992;&#22495;</span></h3>
<p>&#33509;&#30456;&#21516;&#26631;&#35782;&#31526;&#25152;&#21629;&#21517;&#30340;&#20108;&#20010;&#19981;&#21516;&#23454;&#20307;&#22312;&#21516;&#19968;&#26102;&#21051;&#37117;&#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#19988;&#23427;&#20204;&#23646;&#20110;&#21516;&#19968;<a href="c-language-name_space.html">&#21629;&#21517;&#31354;&#38388;</a>&#65292;&#21017;&#20316;&#29992;&#22495;&#34987;&#23884;&#22871;&#65288;&#19981;&#20801;&#35768;&#20854;&#20182;&#24418;&#24335;&#30340;&#20316;&#29992;&#22495;&#37325;&#21472;&#65289;&#65292;&#32780;&#20869;&#23618;&#20316;&#29992;&#22495;&#20013;&#30340;&#22768;&#26126;&#38544;&#34255;&#22806;&#23618;&#20316;&#29992;&#22495;&#20013;&#30340;&#22768;&#26126;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="co1">// &#27492;&#22788;&#30340;&#21629;&#21517;&#31354;&#38388;&#20026;&#36890;&#24120;&#26631;&#35782;&#31526;&#12290;</span>
<span class="kw4">int</span> a<span class="sy4">;</span> <span class="co1">// &#21517;&#31216; a &#30340;&#25991;&#20214;&#20316;&#29992;&#22495;&#22987;&#20110;&#27492;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw4">int</span> a <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span> <span class="co1">// &#21517;&#31216; a &#30340;&#22359;&#20316;&#29992;&#22495;&#22987;&#20110;&#27492;&#65307;&#38544;&#34255;&#25991;&#20214;&#20316;&#29992;&#22495;&#30340; a</span>
<span class="br0">{</span>
<span class="kw4">int</span> a <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span> <span class="co1">// &#20869;&#23618; a &#30340;&#20316;&#29992;&#22495;&#22987;&#20110;&#27492;&#65292;&#38544;&#34255;&#22806;&#23618; a </span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%d<span class="es1">\n</span>&quot;</span>, a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#20869;&#23618; a &#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#25171;&#21360; 2</span>
<span class="br0">}</span> <span class="co1">// &#20869;&#23618; a &#30340;&#22359;&#20316;&#29992;&#22495;&#32456;&#20110;&#27492;</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%d<span class="es1">\n</span>&quot;</span>, a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#22806;&#23618; a &#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#25171;&#21360; 1</span>
<span class="br0">}</span> <span class="co1">// &#22806;&#23618; a &#30340;&#20316;&#29992;&#22495;&#32456;&#20110;&#27492;</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="kw4">int</span> a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#21517;&#31216; a &#25317;&#26377;&#20989;&#25968;&#21407;&#22411;&#20316;&#29992;&#22495;&#65307;&#38544;&#34255;&#25991;&#20214;&#20316;&#29992;&#22495;&#30340; a</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E5.9D.97.E4.BD.9C.E7.94.A8.E5.9F.9F">&#22359;&#20316;&#29992;&#22495;</span></h3>
<p>&#20219;&#20309;&#22312;<a href="c-language-statements.html#.E5.A4.8D.E5.90.88.E8.AF.AD.E5.8F.A5">&#22797;&#21512;&#35821;&#21477;</a>&#65292;&#21253;&#21547;&#20989;&#25968;&#20307;<span class="t-rev-inl t-since-c99"><span>&#25110;&#20986;&#29616;&#20110; <a href="c-language-if.html">if</a> &#12289; <a href="c-language-switch.html">switch</a> &#12289; <a href="c-language-for.html">for</a> &#12289; <a href="c-language-while.html">while</a> &#25110; <a href="c-language-do.html">do-while</a> &#35821;&#21477;&#20013;&#30340;&#20219;&#20309;&#34920;&#36798;&#24335;&#12289;&#22768;&#26126;&#25110;&#35821;&#21477;</span> <span><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></span></span>&#65292;&#25110;&#22312;<a href="c-language-function_definition.html">&#20989;&#25968;&#23450;&#20041;</a>&#20869;&#30340;&#21442;&#25968;&#21015;&#34920;&#20013;&#22768;&#26126;&#30340;&#26631;&#35782;&#31526;&#30340;&#20316;&#29992;&#22495;&#65292;&#22312;&#22768;&#26126;&#28857;&#24320;&#22987;&#65292;&#22312;&#22768;&#26126;&#20110;&#20854;&#20013;&#30340;&#22359;&#25110;&#35821;&#21477;&#30340;&#32467;&#23614;&#32467;&#26463;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span> n<span class="br0">)</span> <span class="co1">// &#20989;&#25968;&#21442;&#25968; &#39;n&#39; &#30340;&#20316;&#29992;&#22495;&#24320;&#22987;</span>
<span class="br0">{</span> <span class="co1">// &#20989;&#25968;&#20307;&#24320;&#22987;</span>
<span class="sy2">++</span>n<span class="sy4">;</span> <span class="co1">// &#39;n&#39; &#22312;&#20316;&#29992;&#22495;&#20013;&#24182;&#25351;&#20195;&#20989;&#25968;&#21442;&#25968;</span>
<span class="co1">// int n = 2; // &#38169;&#35823;&#65306;&#19981;&#33021;&#22312;&#21516;&#19968;&#20316;&#29992;&#22495;&#37325;&#22768;&#26126;&#26631;&#35782;&#31526;</span>
<span class="kw1">for</span><span class="br0">(</span><span class="kw4">int</span> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n<span class="sy1">&lt;</span><span class="nu0">10</span><span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span> <span class="br0">{</span> <span class="co1">// &#24490;&#29615;&#23616;&#22495;&#30340; &#39;n&#39; &#30340;&#20316;&#29992;&#22495;&#24320;&#22987;</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%d<span class="es1">\n</span>&quot;</span>, n<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#25171;&#21360; 0 1 2 3 4 5 6 7 8 9</span>
<span class="br0">}</span> <span class="co1">// &#24490;&#29615;&#23616;&#22495;&#30340; &#39;n&#39; &#30340;&#20316;&#29992;&#22495;&#32467;&#26463;</span>
<span class="co1">// &#20989;&#25968;&#21442;&#25968; &#39;n&#39; &#22238;&#21040;&#20316;&#29992;&#22495;</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%d<span class="es1">\n</span>&quot;</span>, n<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#25171;&#21360;&#21442;&#25968;&#30340;&#20540;</span>
<span class="br0">}</span> <span class="co1">// &#20989;&#25968;&#21442;&#25968; &#39;n&#39; &#30340;&#20316;&#29992;&#22495;&#32467;&#26463;</span>
<span class="kw4">int</span> a <span class="sy1">=</span> n<span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;&#21517;&#31216; &#39;n&#39; &#19981;&#22312;&#20316;&#29992;&#22495;&#20013;</span></pre></div>
</div>
<table class="t-rev-begin">
<tr class="t-rev t-since-c99">
<td>
<p>C99 &#21069;&#65292;&#36873;&#25321;&#21644;&#36845;&#20195;&#35821;&#21477;&#19981;&#24314;&#31435;&#20854;&#33258;&#36523;&#30340;&#22359;&#20316;&#29992;&#22495;&#65288;&#23613;&#31649;&#33509;&#22312;&#35821;&#21477;&#20013;&#20351;&#29992;&#22797;&#21512;&#35821;&#21477;&#65292;&#21017;&#23427;&#25317;&#26377;&#20854;&#36890;&#24120;&#30340;&#22359;&#20316;&#29992;&#22495;&#65289;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw2">enum</span> <span class="br0">{</span>a, b<span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> different<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw1">if</span> <span class="br0">(</span><span class="kw4">sizeof</span><span class="br0">(</span><span class="kw2">enum</span> <span class="br0">{</span>b, a<span class="br0">}</span><span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> <span class="kw4">sizeof</span><span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="br0">)</span>
<span class="kw1">return</span> a<span class="sy4">;</span> <span class="co1">// a == 1</span>
<span class="kw1">return</span> b<span class="sy4">;</span> <span class="co1">// C89 &#20013; b == 0 &#65292; C99 &#20013; b == 1</span>
<span class="br0">}</span></pre></div>
</div>
</td>
<td><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></td>
</tr>
</table>
<p>&#22359;&#20316;&#29992;&#22495;&#23545;&#35937;&#40664;&#35748;<a href="c-language-storage_duration.html">&#26080;&#38142;&#25509;</a>&#24182;&#25317;&#26377;<a href="c-language-storage_duration.html">&#33258;&#21160;&#23384;&#20648;&#26399;</a>&#12290;&#27880;&#24847;&#38750; VLA &#23616;&#37096;&#23545;&#35937;&#30340;&#23384;&#20648;&#26399;&#22312;&#36827;&#20837;&#22359;&#26102;&#24320;&#22987;&#65292;&#20294;&#22312;&#35265;&#21040;&#22768;&#26126;&#21069;&#65292;&#35813;&#26631;&#35782;&#31526;&#19981;&#22312;&#20316;&#29992;&#22495;&#20013;&#19988;&#19981;&#33021;&#35775;&#38382;&#12290;</p>
<h3><span class="mw-headline" id=".E6.96.87.E4.BB.B6.E4.BD.9C.E7.94.A8.E5.9F.9F">&#25991;&#20214;&#20316;&#29992;&#22495;</span></h3>
<p>&#22312;&#20219;&#20309;&#22359;&#25110;&#21442;&#25968;&#21015;&#34920;&#22806;&#22768;&#26126;&#30340;&#20219;&#20309;&#26631;&#35782;&#31526;&#30340;&#20316;&#29992;&#22495;&#65292;&#22312;&#22768;&#26126;&#28857;&#24320;&#22987;&#65292;&#32763;&#35793;&#21333;&#20803;&#23614;&#32467;&#26463;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">int</span> i<span class="sy4">;</span> <span class="co1">// i &#30340;&#20316;&#29992;&#22495;&#24320;&#22987;</span>
<span class="kw4">static</span> <span class="kw4">int</span> g<span class="br0">(</span><span class="kw4">int</span> a<span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> a<span class="sy4">;</span> <span class="br0">}</span> <span class="co1">// g &#30340;&#20316;&#29992;&#22495;&#24320;&#22987;&#65288;&#27880;&#24847; &quot;a&quot; &#25317;&#26377;&#22359;&#20316;&#29992;&#22495;&#65289;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
i <span class="sy1">=</span> g<span class="br0">(</span><span class="nu0">2</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// i &#21644; g &#22312;&#20316;&#29992;&#22495;&#20013;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#25991;&#20214;&#20316;&#29992;&#22495;&#30340;&#26631;&#35782;&#31526;&#40664;&#35748;&#25317;&#26377;<a href="c-language-storage_duration.html">&#22806;&#37096;&#38142;&#25509;</a>&#21644;<a href="c-language-storage_duration.html">&#38745;&#24577;&#23384;&#20648;&#26399;</a>&#12290;</p>
<h3><span class="mw-headline" id=".E5.87.BD.E6.95.B0.E4.BD.9C.E7.94.A8.E5.9F.9F">&#20989;&#25968;&#20316;&#29992;&#22495;</span></h3>
<p>&#22768;&#26126;&#20110;&#20989;&#25968;&#20869;&#37096;&#30340;<a href="c-language-statements.html#Labels">&#26631;&#21495;&#65288;&#19988;&#21482;&#26377;&#26631;&#21495;&#65289;</a>&#65292;&#22312;&#35813;&#20989;&#25968;&#20013;&#30340;&#25152;&#26377;&#20301;&#32622;&#65288;&#25152;&#26377;&#23884;&#22871;&#22359;&#20013;&#65292;&#20854;&#33258;&#36523;&#22768;&#26126;&#21069;&#21518;&#65289;&#37117;&#22312;&#20316;&#29992;&#22495;&#20869;&#12290;&#27880;&#24847;&#65306;&#20219;&#20309;&#35821;&#21477;&#21069;&#30340;&#20882;&#21495;&#23383;&#31526;&#21069;&#30340;&#26631;&#35782;&#31526;&#65292;&#33509;&#19981;&#29992;&#20110;&#20854;&#20182;&#29992;&#36884;&#65292;&#21017;&#38544;&#24335;&#22768;&#26126;&#19968;&#20010;&#26631;&#21495;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">void</span> f<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="br0">{</span>
<span class="kw1">goto</span> label<span class="sy4">;</span> <span class="co1">// label &#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#23613;&#31649;&#20043;&#21518;&#25165;&#22768;&#26126;</span>
label<span class="sy4">:;</span>
<span class="br0">}</span>
<span class="kw1">goto</span> label<span class="sy4">;</span> <span class="co1">// &#26631;&#21495;&#24573;&#30053;&#22359;&#20316;&#29992;&#22495;</span>
<span class="br0">}</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw1">goto</span> label<span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306; g() &#20013; label &#19981;&#22312;&#20316;&#29992;&#22495;&#20013;</span>
<span class="br0">}</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E5.87.BD.E6.95.B0.E5.8E.9F.E5.9E.8B.E4.BD.9C.E7.94.A8.E5.9F.9F">&#20989;&#25968;&#21407;&#22411;&#20316;&#29992;&#22495;</span></h3>
<p>&#38750;&#20989;&#25968;&#23450;&#20041;&#30340;<a href="c-language-function_declaration.html">&#20989;&#25968;&#22768;&#26126;</a>&#30340;&#21442;&#25968;&#21015;&#34920;&#20013;&#24341;&#20837;&#30340;&#21517;&#31216;&#30340;&#20316;&#29992;&#22495;&#65292;&#22312;&#20989;&#25968;<a href="c-language-declarations.html">&#22768;&#26126;&#22120;</a>&#30340;&#32467;&#23614;&#32467;&#26463;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">int</span> f<span class="br0">(</span><span class="kw4">int</span> n,
<span class="kw4">int</span> a<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// n &#22312;&#20316;&#29992;&#22495;&#20013;&#24182;&#25351;&#20195;&#31532;&#19968;&#21442;&#25968;</span></pre></div>
</div>
<p>&#27880;&#24847;&#65292;&#33509;&#22768;&#26126;&#20013;&#26377;&#22810;&#20010;&#25110;&#23884;&#22871;&#22768;&#26126;&#22120;&#65292;&#21017;&#20316;&#29992;&#22495;&#22312;&#26368;&#36817;&#30340;&#22806;&#22260;&#20989;&#25968;&#22768;&#26126;&#22120;&#30340;&#32467;&#23614;&#32467;&#26463;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">void</span> f <span class="br0">(</span> <span class="co1">// &#20989;&#25968;&#21517; &#39;f&#39; &#22312;&#25991;&#20214;&#20316;&#29992;&#22495;</span>
<span class="kw4">long</span> <span class="kw4">double</span> f, <span class="co1">// &#26631;&#35782;&#31526; &#39;f&#39; &#29616;&#22312;&#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#38544;&#34255;&#25991;&#20214;&#20316;&#29992;&#22495;&#30340; &#39;f&#39;</span>
<span class="kw4">char</span> <span class="br0">(</span><span class="sy2">**</span>a<span class="br0">)</span><span class="br0">[</span><span class="nu0">10</span> <span class="sy2">*</span> <span class="kw4">sizeof</span> f<span class="br0">]</span> <span class="co1">// &#39;f&#39; &#25351;&#20195;&#31532;&#19968;&#21442;&#25968;&#65292;&#23427;&#22312;&#20316;&#29992;&#22495;&#20013;</span>
<span class="br0">)</span><span class="sy4">;</span>
<span class="kw2">enum</span><span class="br0">{</span> n <span class="sy1">=</span> <span class="nu0">3</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> <span class="br0">(</span><span class="sy2">*</span><span class="br0">(</span><span class="sy2">*</span>g<span class="br0">)</span><span class="br0">(</span><span class="kw4">int</span> n<span class="br0">)</span><span class="br0">)</span><span class="br0">[</span>n<span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#20989;&#25968;&#21442;&#25968; &#39;n&#39; &#30340;&#20316;&#29992;&#22495;&#22312;&#20854;&#20989;&#25968;&#22768;&#26126;&#22120;&#30340;&#32467;&#23614;&#32467;&#26463;</span>
<span class="co1">// &#25968;&#32452;&#22768;&#26126;&#22120;&#20013;&#65292;&#20840;&#23616; n &#22312;&#20316;&#29992;&#22495;</span>
<span class="co1">// &#65288;&#36825;&#22768;&#26126;&#25351;&#21521;&#36820;&#22238; 3 &#20010; int &#30340;&#25968;&#32452;&#30340;&#25351;&#38024;&#30340;&#20989;&#25968;&#30340;&#25351;&#38024;&#65289;</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E5.A3.B0.E6.98.8E.E7.82.B9">&#22768;&#26126;&#28857;</span></h3>
<p>&#32467;&#26500;&#20307;&#12289;&#32852;&#21512;&#20307;&#21450;&#26522;&#20030;&#26631;&#31614;&#30340;&#20316;&#29992;&#22495;&#65292;&#22312;&#22768;&#26126;&#35813;&#26631;&#31614;&#30340;&#31867;&#22411;&#25351;&#23450;&#31526;&#20013;&#30340;&#26631;&#31614;&#20986;&#29616;&#21518;&#31435;&#21363;&#24320;&#22987;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw1">struct</span> Node <span class="br0">{</span>
<span class="kw1">struct</span> Node<span class="sy2">*</span> next<span class="sy4">;</span> <span class="co1">// Node &#22312;&#20316;&#29992;&#22495;&#20013;&#24182;&#25351;&#20195;&#27492; struct</span>
<span class="br0">}</span><span class="sy4">;</span></pre></div>
</div>
<p>&#26522;&#20030;&#24120;&#37327;&#30340;&#20316;&#29992;&#22495;&#65292;&#22312;&#26522;&#20030;&#39033;&#21015;&#34920;&#20013;&#20854;&#23450;&#20041;&#26522;&#20030;&#39033;&#30340;&#20986;&#29616;&#21518;&#31435;&#21363;&#24320;&#22987;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw2">enum</span> <span class="br0">{</span> x <span class="sy1">=</span> <span class="nu0">12</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="br0">{</span>
<span class="kw2">enum</span> <span class="br0">{</span> x <span class="sy1">=</span> x <span class="sy2">+</span> <span class="nu0">1</span>, <span class="co1">// &#26032; x &#22312;&#36887;&#21495;&#21069;&#19981;&#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#21021;&#22987;&#21270; x &#20026; 13</span>
y <span class="sy1">=</span> x <span class="sy2">+</span> <span class="nu0">1</span> <span class="co1">// &#26032;&#26522;&#20030;&#39033; x &#29616;&#22312;&#22312;&#20316;&#29992;&#22495;&#20013;&#65292;&#21021;&#22987;&#21270; y &#20026; 14</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#20219;&#20309;&#20854;&#20182;&#26631;&#35782;&#31526;&#30340;&#20316;&#29992;&#22495;&#65292;&#27491;&#22909;&#22312;&#20854;&#22768;&#26126;&#22120;&#32467;&#26463;&#21518;&#21644;&#21021;&#22987;&#21270;&#22120;&#21069;&#24320;&#22987;&#65292;&#33509;&#23384;&#22312;&#21021;&#22987;&#21270;&#22120;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">int</span> x <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span> <span class="co1">// &#31532;&#19968;&#20010; &#39;x&#39; &#30340;&#20316;&#29992;&#22495;&#24320;&#22987;</span>
<span class="br0">{</span>
<span class="kw4">int</span> x<span class="br0">[</span>x<span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#26032;&#22768;&#26126;&#30340; x &#30340;&#20316;&#29992;&#22495;&#22312;&#22768;&#26126;&#22120; &#65288; x[x] &#65289;&#21518;&#24320;&#22987;&#12290;</span>
<span class="co1">// &#22312;&#22768;&#26126;&#22120;&#20869;&#65292;&#22806;&#23618; &#39;x&#39; &#20173;&#22312;&#20316;&#29992;&#22495;&#20013;&#12290;</span>
<span class="co1">// &#36825;&#22768;&#26126; 2 &#20010; int &#30340; VLA &#25968;&#32452;&#12290;</span>
<span class="br0">}</span>
<span class="kw4">unsigned</span> <span class="kw4">char</span> y <span class="sy1">=</span> <span class="nu0">32</span><span class="sy4">;</span> <span class="co1">// &#22806;&#23618; &#39;y&#39; &#30340;&#20316;&#29992;&#22495;&#24320;&#22987;</span>
<span class="br0">{</span>
<span class="kw4">unsigned</span> <span class="kw4">char</span> y <span class="sy1">=</span> y<span class="sy4">;</span>
<span class="co1">// &#20869;&#23618; &#39;y&#39; &#30340;&#20316;&#29992;&#22495;&#22312;&#21021;&#22987;&#21270;&#22120;&#65288; = y &#65289;&#21069;&#24320;&#22987;</span>
<span class="co1">// &#36825;&#19981;&#20250;&#20197;&#20540; 32 &#21021;&#22987;&#21270;&#20869;&#23618; &#39;y&#39; &#65292;</span>
<span class="co1">// &#36825;&#20197;&#20854;&#33258;&#36523;&#30340;&#19981;&#30830;&#23450;&#20540;&#21021;&#22987;&#21270;&#20869;&#23618; &#39;y&#39;</span>
<span class="br0">}</span>
<span class="kw4">unsigned</span> <span class="kw4">long</span> factorial<span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">long</span> n<span class="br0">)</span>
<span class="co1">// &#22768;&#26126;&#22120;&#32467;&#26463;&#65292; &#39;factorial&#39; &#20174;&#27492;&#28857;&#24320;&#22987;&#22312;&#20316;&#29992;&#22495;&#20013;</span>
<span class="br0">{</span>
<span class="kw1">return</span> n <span class="sy1">&lt;</span> <span class="nu0">2</span> <span class="sy4">?</span> <span class="nu0">1</span> <span class="sy4">:</span> n <span class="sy2">*</span> factorial<span class="br0">(</span>n <span class="sy2">-</span> <span class="nu0">1</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#36882;&#24402;&#35843;&#29992;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#20316;&#20026;&#29305;&#27530;&#24773;&#20917;&#65292;&#38750;&#26631;&#35782;&#31526;&#22768;&#26126;&#30340;<a href="c-language-types.html">&#31867;&#22411;&#21517;</a>&#30340;&#20316;&#29992;&#22495;&#65292;&#34987;&#35748;&#20026;&#27491;&#22909;&#20551;&#22914;&#22312;&#31867;&#22411;&#21517;&#20869;&#26410;&#30465;&#30053;&#26631;&#35782;&#31526;&#65292;&#21017;&#26631;&#35782;&#31526;&#20250;&#20986;&#29616;&#30340;&#20301;&#32622;&#20043;&#21518;&#24320;&#22987;&#12290;</p>
<h3><span class="mw-headline" id=".E6.B3.A8.E6.84.8F">&#27880;&#24847;</span></h3>
<p>C89 &#21069;&#65292;&#25317;&#26377;&#22806;&#37096;&#38142;&#25509;&#30340;&#26631;&#35782;&#31526;&#22312;&#22359;&#20013;&#24341;&#20837;&#26102;&#65292;&#25317;&#26377;&#25991;&#20214;&#20316;&#29992;&#22495;&#65292;&#22240;&#27492;&#19981;&#35201;&#27714; C89 &#32534;&#35793;&#22120;&#35786;&#26029;&#24050;&#31163;&#24320;&#20316;&#29992;&#22495;&#30340; extern &#26631;&#35782;&#31526;&#30340;&#20351;&#29992;&#65288;&#36825;&#31181;&#20351;&#29992;&#26159;&#26410;&#23450;&#20041;&#34892;&#20026;&#65289;&#12290;</p>
<p>C &#20013;&#65292;&#24490;&#29615;&#20307;&#20869;&#30340;&#23616;&#37096;&#23545;&#35937;&#65292;&#33021;&#38544;&#34255;&#22768;&#26126;&#20110; <a href="c-language-for.html">for</a> &#24490;&#29615;&#30340;&#21021;&#22987;&#21270;&#23376;&#21477;&#20013;&#30340;&#23545;&#35937;&#65288;&#20854;&#20316;&#29992;&#22495;&#20026;&#23884;&#22871;&#30340;&#65289;&#65292;&#20294; C++ &#20013;&#19981;&#33021;&#22914;&#27492;&#12290;</p>
<p>&#19981;&#21516;&#20110; C++ &#65292; C &#26080;&#32467;&#26500;&#20307;&#20316;&#29992;&#22495;&#65306;&#22768;&#26126;&#20110; struct/union/enum &#22768;&#26126;&#20869;&#30340;&#21517;&#31216;&#22312;&#32467;&#26500;&#20307;&#22768;&#26126;&#25152;&#22312;&#30340;&#30456;&#21516;&#20316;&#29992;&#22495;&#65288;&#38500;&#20102;&#25968;&#25454;&#25104;&#21592;&#22312;&#20854;<a href="c-language-name_space.html">&#25104;&#21592;&#21629;&#21517;&#31354;&#38388;</a>&#20013;&#65289;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw1">struct</span> foo <span class="br0">{</span>
<span class="kw1">struct</span> baz <span class="br0">{</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw2">enum</span> color <span class="br0">{</span>RED, BLUE<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">struct</span> baz b<span class="sy4">;</span> <span class="co1">// baz &#22312;&#20316;&#29992;&#22495;&#20013;</span>
<span class="kw2">enum</span> color x <span class="sy1">=</span> RED<span class="sy4">;</span> <span class="co1">// color &#21644; RED &#22312;&#20316;&#29992;&#22495;&#20013;</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E5.BC.95.E7.94.A8">&#24341;&#29992;</span></h3>
<div class="t-ref-std-11">
<ul>
<li>C11 &#26631;&#20934;&#65288;ISO/IEC 9899:2011&#65289;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>6.2.1 Scopes of identifiers (p: 35-36)</li>
</ul>
</dd>
</dl>
<div class="t-ref-std-c99">
<ul>
<li>C99 &#26631;&#20934;&#65288;ISO/IEC 9899:1999&#65289;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>6.2.1 Scopes of identifiers (p: 29-30)</li>
</ul>
</dd>
</dl>
<div class="t-ref-std-c89">
<ul>
<li>C89/C90 &#26631;&#20934;&#65288;ISO/IEC 9899:1990&#65289;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>3.1.2.1 Scopes of identifiers</li>
</ul>
</dd>
</dl>
</div>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin"></table>
</div>
</div>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>