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

454 lines
32 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>&#26367;&#25442;&#25991;&#26412;&#23439;</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_preprocessor_replace skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#26367;&#25442;&#25991;&#26412;&#23439;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="c.html">c</a>&lrm; | <a href="c-preprocessor.html">preprocessor</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#39044;&#22788;&#29702;&#22120;&#25903;&#25345;&#25991;&#26412;&#23439;&#26367;&#25442;&#21450;&#31867;&#20989;&#25968;&#25991;&#26412;&#23439;&#26367;&#25442;&#12290;</p>
<h3><span class="mw-headline" id=".E8.AF.AD.E6.B3.95">&#35821;&#27861;</span></h3>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>#define</b></code> <span class="t-spar">&#26631;&#35782;&#31526;</span> <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span><span class="t-mark">(&#21487;&#36873;)</span></td>
<td>(1)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>#define</b></code> <span class="t-spar">&#26631;&#35782;&#31526;</span><code><b>(</b></code> <span class="t-spar">&#24418;&#21442;</span> <code><b>)</b></code> <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span></td>
<td>(2)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>#define</b></code> <span class="t-spar">&#26631;&#35782;&#31526;</span><code><b>(</b></code> <span class="t-spar">&#24418;&#21442;</span><code><b>, ... )</b></code> <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span></td>
<td>(3)</td>
<td><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>#define</b></code> <span class="t-spar">&#26631;&#35782;&#31526;</span><code><b>( ... )</b></code> <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span></td>
<td>(4)</td>
<td><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>#undef</b></code> <span class="t-spar">&#26631;&#35782;&#31526;</span></td>
<td>(5)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E8.A7.A3.E9.87.8A">&#35299;&#37322;</span></h3>
<h4><span class="mw-headline" id=".23define_.E6.8C.87.E4.BB.A4"><code>#define</code> &#25351;&#20196;</span></h4>
<p><code>#define</code> &#25351;&#20196;&#23450;&#20041; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#20026;&#23439;&#65292;&#21363;&#23427;&#20204;&#25351;&#31034;&#32534;&#35793;&#22120;&#23558;&#25152;&#26377; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#30340;&#21518;&#32487;&#20986;&#29616;&#26367;&#25442;&#20026; <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#65292;&#21487;&#20197;&#21487;&#36873;&#22320;&#38468;&#21152;&#22320;&#22788;&#29702;&#12290;&#33509;&#24050;&#23450;&#20041;&#35813;&#26631;&#35782;&#31526;&#20026;&#20219;&#20309;&#31867;&#22411;&#30340;&#23439;&#65292;&#21017;&#31243;&#24207;&#20026;&#30149;&#24335;&#65292;&#38500;&#38750;&#23450;&#20041;&#30456;&#21516;&#12290;</p>
<h5><span class="mw-headline" id=".E4.BB.BF.E5.AF.B9.E8.B1.A1.E5.AE.8F">&#20223;&#23545;&#35937;&#23439;</span></h5>
<p>&#20223;&#23545;&#35937;&#23439;&#23558;&#25152;&#23450;&#20041;&#30340; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#30340;&#27599;&#27425;&#20986;&#29616;&#26367;&#25442;&#20026; <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#12290; <code>#define</code> &#25351;&#20196;&#30340;&#29256;&#26412; (1) &#20934;&#30830;&#22320;&#22914;&#27492;&#34920;&#29616;&#12290;</p>
<h5><span class="mw-headline" id=".E4.BB.BF.E5.87.BD.E6.95.B0.E5.AE.8F">&#20223;&#20989;&#25968;&#23439;</span></h5>
<p>&#20223;&#20989;&#25968;&#23439;&#23558;&#25152;&#23450;&#20041;&#30340; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#30340;&#27599;&#27425;&#20986;&#29616;&#26367;&#25442;&#20026; <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#65292;&#39069;&#22806;&#22320;&#25509;&#21463;&#25968;&#20010;&#21442;&#25968;&#65292;&#23427;&#20204;&#20250;&#26367;&#25442; <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#20013;&#20219;&#20309; <span class="t-spar">&#24418;&#21442;</span> &#30340;&#23545;&#24212;&#20986;&#29616;&#12290;</p>
<p>&#20223;&#20989;&#25968;&#23439;&#30340;&#35843;&#29992;&#35821;&#27861;&#19982;&#20989;&#25968;&#35843;&#29992;&#35821;&#27861;&#30456;&#20284;&#65306;&#27599;&#20010;&#23439;&#21517;&#23454;&#20363;&#21518;&#36319;&#19968;&#20010;&#20316;&#20026;&#19979;&#20010;&#39044;&#22788;&#29702;&#35760;&#21495;&#30340; ( &#65292;&#24341;&#20837;&#34987; <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#25152;&#26367;&#25442;&#30340;&#35760;&#21495;&#24207;&#21015;&#65292;&#24207;&#21015;&#30001;&#21305;&#37197;&#30340; ) &#35760;&#21495;&#32456;&#27490;&#65292;&#36339;&#36807;&#20013;&#38388;&#24050;&#21305;&#37197;&#30340;&#24038;&#21491;&#25324;&#21495;&#23545;&#12290;</p>
<p>&#23454;&#21442;&#25968;&#37327;&#24517;&#39035;&#19982;&#23439;&#23450;&#20041;&#20013;&#65288; <span class="t-spar">&#24418;&#21442;</span> &#65289;&#30340;&#23454;&#21442;&#25968;&#37327;&#30456;&#21516;&#65292;&#21542;&#21017;&#31243;&#24207;&#20026;&#30149;&#24335;&#12290;&#33509;&#26631;&#35782;&#31526;&#19981;&#22312;&#20989;&#25968;&#35760;&#21495;&#20013;&#65292;&#21363;&#23427;&#33258;&#36523;&#19981;&#21518;&#38543;&#25324;&#21495;&#65292;&#21017;&#20915;&#19981;&#26367;&#25442;&#23427;&#12290;</p>
<p><code>#define</code> &#25351;&#20196;&#30340;&#29256;&#26412; (2) &#23450;&#20041;&#31616;&#21333;&#30340;&#20223;&#20989;&#25968;&#23439;&#12290;</p>
<p><code>#define</code> &#25351;&#20196;&#30340;&#29256;&#26412; (3) &#23450;&#20041;&#26377;&#21487;&#21464;&#25968;&#37327;&#23454;&#21442;&#30340;&#20223;&#20989;&#25968;&#23439;&#12290;&#33021;&#29992; <code>__VA_ARGS__</code> &#26631;&#35782;&#31526;&#35775;&#38382;&#39069;&#22806;&#23454;&#21442;&#65292;&#28982;&#21518;&#35813;&#26631;&#35782;&#31526;&#34987;&#23454;&#21442;&#26367;&#25442;&#12290;</p>
<p><code>#define</code> &#25351;&#20196;&#30340;&#29256;&#26412; (4) &#23450;&#20041;&#26377;&#21487;&#21464;&#25968;&#37327;&#23454;&#21442;&#30340;&#20223;&#20989;&#25968;&#23439;&#65292;&#20294;&#27809;&#26377;&#24120;&#35268;&#21442;&#25968;&#12290;&#21482;&#33021;&#29992; <code>__VA_ARGS__</code> &#26631;&#35782;&#31526;&#35775;&#38382;&#23454;&#21442;&#65292;&#28982;&#21518;&#35813;&#26631;&#35782;&#31526;&#34987;&#23454;&#21442;&#26367;&#25442;&#12290;</p>
<p>&#27880;&#24847;&#65306;&#33509;&#20223;&#20989;&#25968;&#23439;&#30340;&#23454;&#21442;&#21253;&#21547;&#36887;&#21495;&#65292;&#19988;&#26410;&#20026;&#21305;&#37197;&#30340;&#24038;&#21491;&#25324;&#21495;&#23545;&#25152;&#20445;&#25252;&#65288;&#20363;&#22914; <span class="t-c"><span class="mw-geshi c source-c">macro<span class="br0">(</span>array<span class="br0">[</span>x <span class="sy1">=</span> y, x <span class="sy2">+</span> <span class="nu0">1</span><span class="br0">]</span><span class="br0">)</span></span></span> &#25110; <span class="t-c"><span class="mw-geshi c source-c"><a href="c-atomic-atomic_store.html"><span class="kw937">atomic_store</span></a> <span class="br0">(</span>p, <span class="br0">(</span><span class="kw1">struct</span> S<span class="br0">)</span><span class="br0">{</span> a, b <span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span></span></span> &#65289;&#65292;&#21017;&#23558;&#36887;&#21495;&#36716;&#35793;&#20026;&#23439;&#23454;&#21442;&#20998;&#38548;&#31526;&#65292;&#36825;&#23548;&#33268;&#32534;&#35793;&#22833;&#36133;&#65292;&#21407;&#22240;&#20026;&#23454;&#21442;&#25968;&#37327;&#19981;&#21512;&#12290;</p>
<h4><span class="mw-headline" id=".23_.E4.B8.8E_.23.23_.E8.BF.90.E7.AE.97.E7.AC.A6"><code>#</code> &#19982; <code>##</code> &#36816;&#31639;&#31526;</span></h4>
<p>&#22312;&#20223;&#20989;&#25968;&#23439;&#20013;&#65292; <span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#20013;&#26631;&#35782;&#31526;&#21069;&#30340; <code>#</code> &#36816;&#31639;&#31526;&#23545;&#26631;&#35782;&#31526;&#20570;&#24418;&#21442;&#26367;&#25442;&#65292;&#24182;&#23558;&#32467;&#26524;&#29615;&#32469;&#22312;&#24341;&#21495;&#20013;&#65292;&#31561;&#25928;&#22320;&#21019;&#24314;&#19968;&#20010;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#12290;&#32780;&#19988;&#65292;&#39044;&#22788;&#29702;&#22120;&#20250;&#28155;&#21152;&#21453;&#26012;&#26464;&#65292;&#20197;&#36716;&#20041;&#29615;&#32469;&#20869;&#23884;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#30340;&#24341;&#21495;&#65292;&#33509;&#23384;&#22312;&#65292;&#24182;&#25353;&#38656;&#22312;&#23383;&#31526;&#20018;&#20013;&#21452;&#20889;&#21453;&#26012;&#26464;&#12290;&#23427;&#31227;&#38500;&#25152;&#26377;&#21069;&#23548;&#21644;&#23614;&#38543;&#31354;&#30333;&#31526;&#65292;&#19988;&#23558;&#20219;&#20309;&#25991;&#26412;&#20013;&#37096;&#30340;&#31354;&#30333;&#31526;&#24207;&#21015;&#65288;&#20294;&#38750;&#20869;&#23884;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#20013;&#30340;&#65289;&#32553;&#20943;&#25104;&#21333;&#20010;&#31354;&#26684;&#12290;&#27492;&#36816;&#31639;&#34987;&#31216;&#20316;&ldquo;&#23383;&#31526;&#20018;&#21270;&rdquo;&#12290;&#33509;&#23383;&#31526;&#20018;&#21270;&#30340;&#32467;&#26524;&#19981;&#26159;&#21512;&#27861;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-c99">
<td>
<p><code>#</code> &#20986;&#29616;&#22312; <code>__VA_ARGS__</code> &#21069;&#26102;&#65292;&#23558;&#25972;&#20010;&#23637;&#24320;&#30340; __VA_ARGS__ &#25918;&#20837;&#24341;&#21495;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="co2">#define showlist(...) puts(#__VA_ARGS__)</span>
showlist<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#23637;&#24320;&#25104; puts(&quot;&quot;)</span>
showlist<span class="br0">(</span><span class="nu0">1</span>, <span class="st0">&quot;x&quot;</span>, <span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#23637;&#24320;&#25104; puts(&quot;1, \&quot;x\&quot;, int&quot;)</span></pre></div>
</div>
</td>
<td><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></td>
</tr>
</table>
<p><span class="t-spar">&#26367;&#25442;&#21015;&#34920;</span> &#20013;&#20219;&#24847;&#20108;&#20010;&#30456;&#32487;&#26631;&#35782;&#31526;&#38388;&#30340; <code>##</code> &#36816;&#31639;&#31526;&#23545;&#20108;&#20010;&#26631;&#35782;&#31526;&#36827;&#34892;&#21442;&#25968;&#26367;&#25442;&#65292;&#28982;&#21518;&#36830;&#25509;&#32467;&#26524;&#12290;&#27492;&#36816;&#31639;&#34987;&#31216;&#20316;&ldquo;&#36830;&#25509;&rdquo;&#25110;&ldquo;&#35760;&#21495;&#31896;&#36148;&rdquo;&#12290;&#21482;&#21487;&#20197;&#31896;&#36148;&#26377;&#19968;&#21516;&#32452;&#25104;&#21512;&#27861;&#35760;&#21495;&#30340;&#35760;&#21495;&#65306;&#32452;&#25104;&#36739;&#38271;&#26631;&#35782;&#31526;&#30340;&#26631;&#35782;&#31526;&#12289;&#32452;&#25104;&#25968;&#23383;&#30340;&#25968;&#20301;&#25110;&#32452;&#25104; <code>+=</code> &#30340;&#36816;&#31639;&#31526; <code>+</code> &#19982; <code>=</code> &#12290;&#19981;&#33021;&#36890;&#36807;&#31896;&#36148; <code>/</code> &#19982; <code>*</code> &#21019;&#24314;&#27880;&#37322;&#65292;&#22240;&#20026;&#27880;&#37322;&#34987;&#35748;&#20026;&#22312;&#23439;&#26367;&#25442;&#21069;&#31227;&#38500;&#12290;&#33509;&#36830;&#25509;&#30340;&#32467;&#26524;&#19981;&#26159;&#21512;&#27861;&#35760;&#21495;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<p>&#27880;&#24847;&#65306;&#19968;&#20123;&#32534;&#35793;&#22120;&#25552;&#20379;&#20801;&#35768; ## &#20986;&#29616;&#22312;&#36887;&#21495;&#21518;&#21644; __VA_ARGS__ &#21069;&#30340;&#25193;&#23637;&#65292;&#22312;&#27492;&#24773;&#20917;&#19979; ## &#22312; __VA_ARGS__ &#38750;&#31354;&#26102;&#26080;&#25928;&#65292;&#20294;&#22312; __VA_ARGS__ &#20026;&#31354;&#26102;&#31227;&#38500;&#36887;&#21495;&#65306;&#36825;&#20351;&#24471;&#21487;&#20197;&#23450;&#20041;&#22914; <code>fprintf (stderr, format, ##__VA_ARGS__)</code> &#30340;&#23439;&#12290;</p>
<h4><span class="mw-headline" id=".23undef_.E6.8C.87.E4.BB.A4"><code>#undef</code> &#25351;&#20196;</span></h4>
<p><code>#undef</code> &#25351;&#20196;&#35299;&#38500;&#23450;&#20041; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#65292;&#21363;&#23427;&#21462;&#28040;&#20808;&#21069; <code>#define</code> &#23545; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#30340;&#23450;&#20041;&#12290;&#33509;&#26631;&#35782;&#31526;&#26080;&#19982;&#20043;&#20851;&#32852;&#30340;&#23439;&#65292;&#21017;&#24573;&#30053;&#27492;&#25351;&#20196;&#12290;</p>
<h3><span class="mw-headline" id=".E9.A2.84.E5.AE.9A.E4.B9.89.E5.AE.8F">&#39044;&#23450;&#20041;&#23439;</span></h3>
<p>&#19979;&#21015;&#23439;&#21517;&#31216;&#39044;&#23450;&#20041;&#20110;&#20219;&#24847;&#32763;&#35793;&#21333;&#20803;&#20013;&#65306;</p>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC__</span></span></div>
</div>
</td>
<td>&#23637;&#24320;&#25104;&#25972;&#25968;&#24120;&#37327; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span> &#12290; &#27492;&#23439;&#26159;&#29992;&#20197;&#25351;&#31034;&#19968;&#33268;&#23454;&#29616;&#30340;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_VERSION__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c95">(C95)</span></span></span></div>
</div>
</td>
<td>&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">long</span></span></span> &#31867;&#22411;&#30340;&#25972;&#25968;&#24120;&#37327;&#65292;&#20854;&#20540;&#38543;&#30528; C &#26631;&#20934;&#30340;&#27599;&#20010;&#29256;&#26412;&#36882;&#22686;&#65306;
<ul>
<li><span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">199409L</span></span></span> <span class="t-mark-rev t-since-c95">(C95)</span></li>
<li><span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">199901L</span></span></span> <span class="t-mark-rev t-since-c99">(C99)</span></li>
<li><span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">201112L</span></span></span> <span class="t-mark-rev t-since-c11">(C11)</span></li>
<li><span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">201710L</span></span></span> <span class="t-mark-rev t-since-c17">(C17)</span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></li>
</ul>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_HOSTED__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
</div>
</td>
<td>&#33509;&#23454;&#29616;&#26377;&#23487;&#20027;&#65288;&#22312;&#25805;&#20316;&#31995;&#32479;&#19979;&#36816;&#34892;&#65289;&#65292;&#21017;&#23637;&#24320;&#25104;&#25972;&#25968;&#24120;&#37327; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span> &#65292;&#33509;&#20026;&#29420;&#31435;&#30340;&#65288;&#19981;&#22312;&#25805;&#20316;&#31995;&#32479;&#20013;&#36816;&#34892;&#65289;&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c">&#8203;<span class="nu0">0</span>&#8203;</span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__FILE__</span></span></div>
</div>
</td>
<td>&#23637;&#24320;&#25104;&#24403;&#21069;&#25991;&#20214;&#21517;&#65292;&#20026;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65292;&#21487;&#29992; <a href="c-preprocessor-line.html"><code>#line</code></a> &#25351;&#20196;&#26356;&#25913;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__LINE__</span></span></div>
</div>
</td>
<td>&#23637;&#24320;&#25104;&#28304;&#25991;&#20214;&#34892;&#21495;&#65292;&#20026;&#25972;&#25968;&#24120;&#37327;&#65292;&#21487;&#29992; <a href="c-preprocessor-line.html"><code>#line</code></a> &#25351;&#20196;&#26356;&#25913;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__DATE__</span></span></div>
</div>
</td>
<td>&#23637;&#24320;&#25104;&#32763;&#35793;&#30340;&#26085;&#26399;&#65292;&#26684;&#24335;&#20026; &quot;Mmm dd yyyy&quot; &#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#12290;&#26376;&#20221;&#21517;&#22914;&#21516;&#20197; <span class="t-lc"><a href="c-chrono-asctime.html">asctime</a></span> &#29983;&#25104;&#65292;&#32780;&#33509;&#26376;&#20043;&#26085;&#26399;&#23567;&#20110; 10 &#21017; &quot;dd&quot; &#30340;&#39318;&#23383;&#31526;&#20026;&#31354;&#26684;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__TIME__</span></span></div>
</div>
</td>
<td>&#23637;&#24320;&#25104;&#32763;&#35793;&#30340;&#26102;&#38388;&#65292;&#26684;&#24335;&#20026; &quot;hh:mm:ss&quot; &#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65292;&#22914;&#21516; <span class="t-c"><span class="mw-geshi c source-c"><a href="c-chrono-asctime.html"><span class="kw515">asctime</span></a><span class="br0">(</span><span class="br0">)</span></span></span> &#25152;&#29983;&#25104;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
</table>
<p>&#23454;&#29616;&#21487;&#33021;&#39044;&#23450;&#20041;&#19979;&#21015;&#39069;&#22806;&#23439;&#21517;&#65306;</p>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_ISO_10646__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
</div>
</td>
<td>&#33509; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">wchar_t</span></span></span> &#20351;&#29992; Unicode &#65292;&#21017;&#23637;&#24320;&#25104;&#24418;&#24335;&#20026; <code>yyyymmL</code> &#30340;&#25972;&#25968;&#24120;&#37327;&#65292;&#26085;&#26399;&#25351;&#31034;&#21463;&#25903;&#25345;&#30340; Unicode &#26368;&#36817;&#29256;&#26412;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_IEC_559__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345; IEC 60559 &#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span> <span class="t-rev-inl t-since-c23"><span><span class="t-mark">(&#24323;&#29992;)</span></span> <span><span class="t-mark-rev t-since-c23">(C23 &#36215;)</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_IEC_559_COMPLEX__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345; IEC 60559 &#22797;&#25968;&#31639;&#26415;&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span> <span class="t-rev-inl t-since-c23"><span><span class="t-mark">(&#24323;&#29992;)</span></span> <span><span class="t-mark-rev t-since-c23">(C23 &#36215;)</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_UTF_16__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509; <span class="t-c"><span class="mw-geshi c source-c">char16_t</span></span> &#20351;&#29992; UTF-16 &#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_UTF_32__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509; <span class="t-c"><span class="mw-geshi c source-c">char32_t</span></span> &#20351;&#29992; UTF-32 &#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_MB_MIGHT_NEQ_WC__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
</div>
</td>
<td>&#33509; <span class="t-c"><span class="mw-geshi c source-c"><span class="st0">&#39;x&#39;</span> <span class="sy1">==</span> L<span class="st0">&#39;x&#39;</span></span></span> &#21487;&#33021;&#23545;&#22522;&#30784;&#23383;&#31526;&#38598;&#30340;&#25104;&#21592;&#20026; false &#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span> &#65292;&#20363;&#22914;&#22312;&#22522;&#20110; EBCDIC &#30340;&#65292; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">wchar_t</span></span></span> &#20351;&#29992; Unicode &#30340;&#31995;&#32479;&#19978;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_ANALYZABLE__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345;<a href="c-language-analyzability.html">&#21487;&#20998;&#26512;&#24615;</a>&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_LIB_EXT1__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345;<a href="c-error.html">&#36793;&#30028;&#26816;&#26597;&#25509;&#21475;</a>&#21017;&#23637;&#24320;&#25104;&#25972;&#25968;&#24120;&#37327; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">201112L</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_NO_ATOMICS__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509;&#19981;&#25903;&#25345;<a href="c-language-atomic.html">&#21407;&#23376;</a>&#31867;&#22411;&#21644;<a href="c-atomic.html">&#21407;&#23376;&#25805;&#20316;&#24211;</a>&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_NO_COMPLEX__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509;&#19981;&#25903;&#25345;<a href="c-language-arithmetic_types.html#.E5.A4.8D.E6.B5.AE.E7.82.B9.E7.B1.BB.E5.9E.8B">&#22797;&#25968;&#31867;&#22411;</a>&#21644;<a href="c-numeric-complex.html">&#22797;&#25968;&#36816;&#31639;&#24211;</a>&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_NO_THREADS__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509;&#19981;&#25903;&#25345;<a href="c-thread.html">&#22810;&#32447;&#31243;</a>&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_NO_VLA__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div>
</td>
<td>&#33509;&#19981;&#25903;&#25345;<a href="c-language-array.html#.E9.9D.9E.E5.B8.B8.E9.87.8F.E9.95.BF.E5.BA.A6.E6.95.B0.E7.BB.84">&#38750;&#24120;&#37327;&#38271;&#24230;&#25968;&#32452;</a>&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c"><span class="nu0">1</span></span></span><br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_IEC_60559_BFP__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c23">(C23)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345; IEC 60559 &#20108;&#36827;&#21046;&#28014;&#28857;&#31639;&#26415;&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c">202ymmL</span></span> &#65288;&#26085;&#26399;&#24453;&#23450;&#65289;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_IEC_60559_DFP__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c23">(C23)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345; IEC 60559 &#21313;&#36827;&#21046;&#28014;&#28857;&#31639;&#26415;&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c">202ymmL</span></span> &#65288;&#26085;&#26399;&#24453;&#23450;&#65289;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_IEC_60559_COMPLEX__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c23">(C23)</span></span></span></div>
</div>
</td>
<td>&#33509;&#25903;&#25345; IEC 60559 &#22797;&#25968;&#31639;&#26415;&#21017;&#23637;&#24320;&#25104; <span class="t-c"><span class="mw-geshi c source-c">202ymmL</span></span> &#65288;&#26085;&#26399;&#24453;&#23450;&#65289;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
</table>
<p>&#36825;&#20123;&#23439;&#30340;&#20540;&#65288;&#38500;&#20102; <code>__FILE__</code> &#21644; <code>__LINE__</code> &#65289;&#22312;&#25972;&#20010;&#32763;&#35793;&#21333;&#20803;&#20013;&#20445;&#25345;&#24120;&#37327;&#12290;&#23581;&#35797;&#37325;&#23450;&#20041;&#25110;&#35299;&#38500;&#23450;&#20041;&#36825;&#20123;&#23439;&#23548;&#33268;&#26410;&#23450;&#20041;&#34892;&#20026;&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-c99">
<td>
<p>&#39044;&#23450;&#20041;&#23545;&#35937; <span class="t-c"><span class="mw-geshi c source-c">__func__</span></span> &#65288;&#32454;&#33410;&#35265;<a href="c-language-function_definition.html#func">&#20989;&#25968;&#23450;&#20041;</a>&#65289;&#19981;&#26159;&#39044;&#22788;&#29702;&#22120;&#23439;&#65292;&#23613;&#31649;&#26377;&#26102;&#19982; <code>__FILE__</code> &#21450; <code>__LINE__</code> &#19968;&#21516;&#20351;&#29992;&#23427;&#65292;&#20363;&#22914;&#36890;&#36807; <span class="t-lc"><a href="c-error-assert.html">assert</a></span> &#12290;</p>
</td>
<td><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">&#31034;&#20363;</span></h3>
<div class="t-example">
<div class="t-example-live-link"></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="co2">#include &lt;stdio.h&gt;</span>
<span class="co1">// &#21046;&#36896;&#20989;&#25968;&#24037;&#21378;&#24182;&#20351;&#29992;&#20043;</span>
<span class="co2">#define FUNCTION(name, a) int fun_##name(int x) { return (a)*x;}</span>
FUNCTION<span class="br0">(</span>quadruple, <span class="nu0">4</span><span class="br0">)</span>
FUNCTION<span class="br0">(</span><span class="kw4">double</span>, <span class="nu0">2</span><span class="br0">)</span>
<span class="co2">#undef FUNCTION</span>
<span class="co2">#define FUNCTION 34</span>
<span class="co2">#define OUTPUT(a) puts( #a )</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;quadruple(13): %d<span class="es1">\n</span>&quot;</span>, fun_quadruple<span class="br0">(</span><span class="nu0">13</span><span class="br0">)</span> <span class="br0">)</span><span class="sy4">;</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;double(21): %d<span class="es1">\n</span>&quot;</span>, fun_double<span class="br0">(</span><span class="nu0">21</span><span class="br0">)</span> <span class="br0">)</span><span class="sy4">;</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>, FUNCTION<span class="br0">)</span><span class="sy4">;</span>
OUTPUT<span class="br0">(</span>million<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#27880;&#24847;&#32570;&#23569;&#24341;&#21495;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#36755;&#20986;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="text source-text">
<pre class="de1">quadruple(13): 52
double(21): 42
34
million</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E5.BC.95.E7.94.A8">&#24341;&#29992;</span></h3>
<div class="t-ref-std-17">
<ul>
<li>C17 &#26631;&#20934;&#65288;ISO/IEC 9899:2018&#65289;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>6.10.3 Macro replacement (p: 121-126)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.10.8 Predefined macro names (p: 127-129)</li>
</ul>
</dd>
</dl>
</div>
<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.10.3 Macro replacement (p: 166-173)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.10.8 Predefined macro names (p: 175-176)</li>
</ul>
</dd>
</dl>
</div>
<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.10.3 Macro replacement (p: 151-158)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.10.8 Predefined macro names (p: 160-161)</li>
</ul>
</dd>
</dl>
</div>
<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.8.3 Macro replacement</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>3.8.8 Predefined macro names</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 class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>