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

263 lines
30 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>&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;</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_string_literal skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;</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>&#21407;&#20301;&#26500;&#36896;&#25351;&#23450;&#23383;&#31526;&#25968;&#32452;&#31867;&#22411;&#30340;&#26080;&#21517;&#23545;&#35937;&#65292;&#22312;&#38656;&#35201;&#20869;&#23884;&#23383;&#31526;&#20018;&#21040;&#28304;&#20195;&#30721;&#20013;&#26102;&#20351;&#29992;&#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>&quot;</b></code> <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> <code><b>&quot;</b></code></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>u8&quot;</b></code> <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> <code><b>&quot;</b></code></td>
<td>(2)</td>
<td><span class="t-mark-rev t-since-c11">(C11 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>u&quot;</b></code> <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> <code><b>&quot;</b></code></td>
<td>(3)</td>
<td><span class="t-mark-rev t-since-c11">(C11 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>U&quot;</b></code> <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> <code><b>&quot;</b></code></td>
<td>(4)</td>
<td><span class="t-mark-rev t-since-c11">(C11 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>L&quot;</b></code> <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> <code><b>&quot;</b></code></td>
<td>(5)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<p>&#20854;&#20013;</p>
<table class="t-par-begin">
<tr class="t-par">
<td><span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span></td>
<td>-</td>
<td>&#38646;&#25110;&#22810;&#20010;&#23383;&#31526;&#65292;&#27599;&#20010;&#25110;&#20026;&#26469;&#33258;&#28304;&#23383;&#31526;&#38598;&#30340;&#22810;&#23383;&#33410;&#23383;&#31526;&#65288;&#19981;&#21547; <code><b>&quot;</b></code> &#12289; <code><b>\</b></code> &#21450;&#25442;&#34892;&#31526;&#65289;&#65292;&#25110;&#20026;<a href="c-language-escape.html">&#36716;&#20041;&#24207;&#21015;</a>&#20013;&#23450;&#20041;&#30340;&#23383;&#31526;&#36716;&#20041;&#12289;&#21313;&#20845;&#36827;&#21046;&#36716;&#20041;&#12289;&#20843;&#36827;&#21046;&#36716;&#20041;<span class="t-rev-inl t-since-c99"><span>&#25110;&#36890;&#29992;&#23383;&#31526;&#21517;</span> <span><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></span></span>&#12290;
<p><br /></p>
</td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> <i>&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;</i>&#65306;&#23383;&#38754;&#37327;&#30340;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">char</span><span class="br0">[</span>N<span class="br0">]</span></span></span> &#65292;&#20854;&#20013; <code>N</code> &#26159;&#20197;&#25191;&#34892;&#31364;&#32534;&#30721;&#30340;&#32534;&#30721;&#21333;&#20803;&#25968;&#35745;&#30340;&#23383;&#31526;&#20018;&#30340;&#22823;&#23567;&#65292;&#21253;&#25324;&#31354;&#32456;&#27490;&#31526;&#12290;&#20197;&#25191;&#34892;&#23383;&#31526;&#38598;&#20174; <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> &#20013;&#30340;&#19979;&#20010;&#23383;&#31526;&#21021;&#22987;&#21270;&#25968;&#32452;&#30340;&#27599;&#20010; <code>char</code> &#20803;&#32032;&#12290;</div>
<div class="t-li1"><span class="t-li">2)</span> <i>UTF-8 &#23383;&#31526;&#20018;&#23383;&#38754;&#37327;</i>&#65306;&#23383;&#38754;&#37327;&#30340;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">char</span><span class="br0">[</span>N<span class="br0">]</span></span></span> &#65292;&#20854;&#20013; <code>N</code> &#26159;&#20197; UTF-8 &#32534;&#30721;&#21333;&#20803;&#25968;&#35745;&#30340;&#23383;&#31526;&#20018;&#22823;&#23567;&#65292;&#21253;&#25324;&#31354;&#32456;&#27490;&#31526;&#12290;&#20197; UTF-8 &#32534;&#30721;&#20174; <span class="t-spar">&#20018;&#23383;&#31526;&#24207;&#21015;</span> &#20013;&#30340;&#19979;&#20010;&#22810;&#23383;&#33410;&#23383;&#31526;&#21021;&#22987;&#21270;&#25968;&#32452;&#20013;&#30340;&#27599;&#20010; <code>char</code> &#20803;&#32032;&#12290;</div>
<div class="t-li1"><span class="t-li">3)</span> 16 &#20301;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65306;&#23383;&#38754;&#37327;&#30340;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi c source-c">char16_t<span class="br0">[</span>N<span class="br0">]</span></span></span> &#65292;&#20854;&#20013; <code>N</code> &#26159;&#20197;&#23454;&#29616;&#23450;&#20041;&#30340; 16 &#20301;&#32534;&#30721;&#65288;&#36890;&#24120;&#20026; UTF-16 &#65289;&#30340;&#32534;&#30721;&#21333;&#20803;&#25968;&#35745;&#30340;&#23383;&#31526;&#20018;&#22823;&#23567;&#65292;&#21253;&#25324;&#31354;&#32456;&#27490;&#31526;&#12290;&#22914;&#21516;&#36890;&#36807;&#22312;&#23454;&#29616;&#23450;&#20041;&#30340;&#26412;&#22320;&#29615;&#22659;&#20013;&#25191;&#34892; <span class="t-lc"><a href="c-string-multibyte-mbrtoc16.html">mbrtoc16</a></span> &#21021;&#22987;&#21270;&#25968;&#32452;&#30340;&#27599;&#20010; <code>char16_t</code> &#20803;&#32032;&#12290;</div>
<div class="t-li1"><span class="t-li">4)</span> 32 &#20301;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65306;&#23383;&#38754;&#37327;&#30340;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi c source-c">char32_t<span class="br0">[</span>N<span class="br0">]</span></span></span> &#65292;&#20854;&#20013; <code>N</code> &#26159;&#20197;&#23454;&#29616;&#23450;&#20041;&#30340; 32 &#20301;&#32534;&#30721;&#65288;&#36890;&#24120;&#20026; UTF-32 &#65289;&#30340;&#32534;&#30721;&#21333;&#20803;&#25968;&#35745;&#30340;&#23383;&#31526;&#20018;&#22823;&#23567;&#65292;&#21253;&#25324;&#31354;&#32456;&#27490;&#31526;&#12290;&#22914;&#21516;&#36890;&#36807;&#22312;&#23454;&#29616;&#23450;&#20041;&#30340;&#26412;&#22320;&#29615;&#22659;&#20013;&#25191;&#34892; <span class="t-lc"><a href="c-string-multibyte-mbrtoc32.html">mbrtoc32</a></span> &#21021;&#22987;&#21270;&#25968;&#32452;&#30340;&#27599;&#20010; <code>char32_t</code> &#20803;&#32032;&#12290;</div>
<div class="t-li1"><span class="t-li">5)</span> &#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65306;&#23383;&#38754;&#37327;&#30340;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">wchar_t</span><span class="br0">[</span>N<span class="br0">]</span></span></span> &#65292;&#20854;&#20013; <code>N</code> &#26159;&#20197;&#25191;&#34892;&#23485;&#32534;&#30721;&#30340;&#32534;&#30721;&#21333;&#20803;&#25968;&#35745;&#30340;&#23383;&#31526;&#20018;&#22823;&#23567;&#65292;&#21253;&#25324;&#31354;&#32456;&#27490;&#31526;&#12290;&#22914;&#21516;&#36890;&#36807;&#22312;&#23454;&#29616;&#23450;&#20041;&#30340;&#26412;&#22320;&#29615;&#22659;&#20013;&#25191;&#34892; <span class="t-lc"><a href="c-string-multibyte-mbstowcs.html">mbstowcs</a></span> &#21021;&#22987;&#21270;&#25968;&#32452;&#30340;&#27599;&#20010; <code>wchar_t</code> &#20803;&#32032;&#12290;</div>
<h3><span class="mw-headline" id=".E8.A7.A3.E9.87.8A">&#35299;&#37322;</span></h3>
<p>&#39318;&#20808;&#65292;&#22312;<a href="c-language-translation_phases.html">&#32763;&#35793;&#38454;&#27573; 6</a> &#65288;&#23439;&#23637;&#24320;&#21518;&#65289;&#65292;&#36830;&#25509;&#30456;&#37051;&#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65288;&#21363;&#20165;&#20026;&#31354;&#30333;&#31526;&#25152;&#20998;&#38548;&#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65289;&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-until-c99">
<td>
<p>&#20165;&#21487;&#36830;&#25509;&#20108;&#20010;&#31364;&#25110;&#20108;&#20010;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#12290;</p>
</td>
<td><span class="t-mark-rev t-until-c99">(C99 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-c99">
<td>
<p>&#33509;&#19968;&#20010;&#23383;&#38754;&#37327;&#26080;&#21069;&#32512;&#65292;&#21017;&#32467;&#26524;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#25317;&#26377;&#26377;&#21069;&#32512;&#23383;&#38754;&#37327;&#25152;&#25351;&#23450;&#30340;&#23485;&#24230;/&#32534;&#30721;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1">L<span class="st0">&quot;&Delta;x = %&quot;</span> <a href="c-types-integer.html"><span class="kw177">PRId16</span></a> <span class="co1">// &#22312;&#38454;&#27573; 4 &#65292; PRId16 &#23637;&#24320;&#25104; &quot;d&quot;</span>
<span class="co1">// &#22312;&#38454;&#27573; 6 &#65292; L&quot;&Delta;x = %&quot; &#21644; &quot;d&quot; &#32452;&#25104; L&quot;&Delta;x = %d&quot;</span></pre></div>
</div>
</td>
<td><span class="t-mark-rev t-since-c99">(C99 &#36215;)</span></td>
</tr>
</table>
<table class="t-rev-begin">
<tr class="t-rev t-since-c11 t-until-c23">
<td>
<p>&#33509;&#20108;&#20010;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#25317;&#26377;&#19981;&#21516;&#30340;&#32534;&#30721;&#21069;&#32512;&#65292;&#21017;&#36830;&#25509;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#65292;&#38500;&#20102;&#19981;&#33021;&#36830;&#25509; UTF-8 &#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#21644;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-c11">(C11 &#36215;)</span><br />
<span class="t-mark-rev t-until-c23">(C23 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-c23">
<td>
<p>&#33509;&#20108;&#20010;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#25317;&#26377;&#19981;&#21516;&#30340;&#32534;&#30721;&#21069;&#32512;&#65292;&#21017;&#36830;&#25509;&#20026;&#38750;&#33391;&#26500;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-c23">(C23 &#36215;)</span></td>
</tr>
</table>
<p>&#20854;&#27425;&#65292;&#22312;<a href="c-language-translation_phases.html">&#32763;&#35793;&#38454;&#27573; 7</a> &#65292;&#28155;&#21152;&#31354;&#32456;&#27490;&#23383;&#31526;&#21040;&#27599;&#20010;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#65292;&#28982;&#21518;&#27599;&#20010;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#21021;&#22987;&#21270;&#19968;&#20010;&#25317;&#26377;&#38745;&#24577;<a href="c-language-storage_duration.html">&#23384;&#20648;&#26399;</a>&#65292;&#38271;&#24230;&#21018;&#22909;&#33021;&#23481;&#32435;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#30340;&#20869;&#23481;&#21152;&#19968;&#20010;&#31354;&#32456;&#27490;&#31526;&#30340;&#26080;&#21517;&#25968;&#32452;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">&quot;<span class="es2">\x12</span>&quot;</span> <span class="st0">&quot;3&quot;</span><span class="sy4">;</span> <span class="co1">// &#21019;&#24314; static char[3] &#25968;&#32452;&#65292;&#20445;&#26377; {&#39;\x12&#39;, &#39;3&#39;, &#39;\0&#39;} </span>
<span class="co1">// &#35774;&#32622; p &#25351;&#21521;&#25968;&#32452;&#30340;&#39318;&#20803;&#32032;</span></pre></div>
</div>
<p>&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;<b>&#19981;&#21487;&#20462;&#25913;</b>&#65288;&#32780;&#19988;&#23454;&#38469;&#19978;&#21487;&#20197;&#25918;&#22312;&#20363;&#22914; <code>.rodata</code> &#30340;&#21482;&#35835;&#20869;&#23384;&#20013;&#65289;&#12290;&#33509;&#31243;&#24207;&#35797;&#22270;&#20462;&#25913;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#32452;&#25104;&#30340;&#38745;&#24577;&#25968;&#32452;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">&quot;Hello&quot;</span><span class="sy4">;</span>
p<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&#39;M&#39;</span><span class="sy4">;</span> <span class="co1">// &#26410;&#23450;&#20041;&#34892;&#20026;</span>
<span class="kw4">char</span> a<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&quot;Hello&quot;</span><span class="sy4">;</span>
a<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&#39;M&#39;</span><span class="sy4">;</span> <span class="co1">// OK &#65306; a &#19981;&#26159;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;</span></pre></div>
</div>
<p>&#26082;&#19981;&#35201;&#27714;&#20134;&#19981;&#31105;&#27490;&#31561;&#21516;&#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#25351;&#20195;&#20869;&#23384;&#20013;&#30340;&#21516;&#19968;&#20301;&#32622;&#12290;&#32780;&#19988;&#65292;&#37325;&#21472;&#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#25110;&#20316;&#20026;&#20854;&#20182;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#23376;&#20018;&#30340;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#21487;&#20197;&#32467;&#21512;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="st0">&quot;def&quot;</span> <span class="sy1">==</span> <span class="nu0">3</span><span class="sy2">+</span><span class="st0">&quot;abcdef&quot;</span><span class="sy4">;</span> <span class="co1">// &#21487;&#20026; 1 &#25110; 0 &#65292;&#23454;&#29616;&#23450;&#20041;</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p>&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#19981;&#24517;&#26159;&#19968;&#26465;&#23383;&#31526;&#20018;&#65307;&#33509;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#25317;&#26377;&#20869;&#23884;&#30340;&#31354;&#23383;&#31526;&#65292;&#21017;&#23427;&#34920;&#31034;&#21547;&#26377;&#22810;&#20110;&#19968;&#26465;&#23383;&#31526;&#20018;&#30340;&#25968;&#32452;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">&quot;abc<span class="es5">\0</span>def&quot;</span><span class="sy4">;</span> <span class="co1">// strlen(p) == 3 &#65292;&#20294;&#25968;&#32452;&#22823;&#23567;&#20026; 8</span></pre></div>
</div>
<p>&#33509;&#22312;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#20013;&#21512;&#27861;&#21313;&#20845;&#36827;&#21046;&#25968;&#20301;&#21518;&#38543;&#21313;&#20845;&#36827;&#21046;&#36716;&#20041;&#65292;&#21017;&#36825;&#20250;&#20316;&#20026;&#38750;&#27861;&#30340;&#36716;&#20041;&#24207;&#21015;&#23548;&#33268;&#32534;&#35793;&#22833;&#36133;&#65292;&#20294;&#33021;&#20197;&#23383;&#31526;&#20018;&#36830;&#25509;&#20026;&#21464;&#36890;&#26041;&#24335;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="co1">//char* p = &quot;\xfff&quot;; // &#38169;&#35823;&#65306;&#21313;&#20845;&#36827;&#21046;&#36716;&#20041;&#22312;&#33539;&#22260;&#22806;</span>
<span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">&quot;<span class="es2">\xff</span>&quot;</span><span class="st0">&quot;f&quot;</span><span class="sy4">;</span> <span class="co1">// OK &#65306;&#23383;&#38754;&#37327;&#20026; char[3] &#65292;&#20445;&#26377; {&#39;\xff&#39;, &#39;f&#39;, &#39;\0&#39;}</span></pre></div>
</div>
<p>&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#33021;&#29992;&#20110;<a href="c-language-array_initialization.html">&#21021;&#22987;&#21270;&#25968;&#32452;</a>&#65292;&#32780;&#33509;&#25968;&#32452;&#22823;&#23567;&#27604;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#22823;&#23567;&#23569;&#19968;&#65292;&#21017;&#24573;&#30053;&#31354;&#32456;&#27490;&#31526;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="c source-c">
<pre class="de1"><span class="kw4">char</span> a1<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&quot;abc&quot;</span><span class="sy4">;</span> <span class="co1">// a1 &#20026; char[4] &#65292;&#20445;&#26377; {&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;\0&#39;}</span>
<span class="kw4">char</span> a2<span class="br0">[</span><span class="nu0">4</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&quot;abc&quot;</span><span class="sy4">;</span> <span class="co1">// a2 &#20026; char[4] &#65292;&#20445;&#26377; {&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;\0&#39;}</span>
<span class="kw4">char</span> a3<span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&quot;abc&quot;</span><span class="sy4">;</span> <span class="co1">// a3 &#20026; char[3] &#65292;&#20445;&#26377; {&#39;a&#39;, &#39;b&#39;, &#39;c&#39;}</span></pre></div>
</div>
<p>&#23383;&#31526;&#20018;&#23383;&#38754;&#37327; <span class="t-v">(1)</span> &#21644;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327; <span class="t-v">(5)</span> &#30340;&#32534;&#30721;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#12290;&#20363;&#22914;&#65292; gcc &#29992;<a rel="nofollow" class="external text" href="https://gcc.gnu.org/onlinedocs/cpp/Invocation.html">&#21629;&#20196;&#34892;&#36873;&#39033;</a> <span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">-</span>fexec<span class="sy2">-</span>charset</span></span> &#21644; <span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">-</span>fwide<span class="sy2">-</span>exec<span class="sy2">-</span>charset</span></span> &#36873;&#25321;&#23427;&#20204;&#12290;</p>
<p>&#23613;&#31649; C11 &#20013;&#20801;&#35768;&#28151;&#21512;&#30340;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#36830;&#25509;&#65292;&#20960;&#20046;&#25152;&#26377;&#32534;&#35793;&#22120;&#37117;&#25298;&#32477;&#36825;&#31181;&#36830;&#25509;&#65288;&#20165;&#26377;&#30340;&#24050;&#30693;&#20363;&#22806;&#26159; <a rel="nofollow" class="external text" href="http://sdcc.sourceforge.net/">SDCC</a> &#65289;&#65292;&#32780;&#20854;&#20351;&#29992;&#32463;&#39564;&#26159;&#26410;&#30693;&#30340;&#12290;&#20316;&#20026;&#32467;&#26524;&#65292; C23 &#20013;&#31227;&#38500;&#20102;&#23545;&#28151;&#21512;&#23485;&#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#36830;&#25509;&#30340;&#20801;&#35768;&#12290;</p>
<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="co2">#include &lt;stdlib.h&gt;</span>
<span class="co2">#include &lt;stddef.h&gt;</span>
<span class="co2">#include &lt;uchar.h&gt;</span>
<span class="co2">#include &lt;locale.h&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw4">char</span> s1<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">&quot;a&#29483;&#127820;&quot;</span><span class="sy4">;</span> <span class="co1">// &#25110; &quot;a\u732B\U0001F34C&quot;</span>
<span class="kw4">char</span> s2<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> u8<span class="st0">&quot;a&#29483;&#127820;&quot;</span><span class="sy4">;</span>
char16_t s3<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> u<span class="st0">&quot;a&#29483;&#127820;&quot;</span><span class="sy4">;</span>
char32_t s4<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> U<span class="st0">&quot;a&#29483;&#127820;&quot;</span><span class="sy4">;</span>
<span class="kw4">wchar_t</span> s5<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> L<span class="st0">&quot;a&#29483;&#127820;&quot;</span><span class="sy4">;</span>
<a href="c-locale-setlocale.html"><span class="kw901">setlocale</span></a><span class="br0">(</span><a href="c-locale-LC_categories.html"><span class="kw904">LC_ALL</span></a>, <span class="st0">&quot;en_US.utf8&quot;</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; <span class="es1">\&quot;</span>%s<span class="es1">\&quot;</span> is a char[%zu] holding { &quot;</span>, s1, <span class="kw4">sizeof</span> s1 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s1<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">for</span><span class="br0">(</span><a href="c-types-size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s1 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s1<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%#x &quot;</span>, <span class="sy2">+</span><span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">char</span><span class="br0">)</span>s1<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span>
<a href="c-io-puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">&quot; }&quot;</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;u8<span class="es1">\&quot;</span>%s<span class="es1">\&quot;</span> is a char[%zu] holding { &quot;</span>, s2, <span class="kw4">sizeof</span> s2 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s2<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">for</span><span class="br0">(</span><a href="c-types-size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s2 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s2<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%#x &quot;</span>, <span class="sy2">+</span><span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">char</span><span class="br0">)</span>s2<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span>
<a href="c-io-puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">&quot; }&quot;</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; u<span class="es1">\&quot;</span>a&#29483;&#127820;<span class="es1">\&quot;</span> is a char16_t[%zu] holding { &quot;</span>, <span class="kw4">sizeof</span> s3 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s3<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">for</span><span class="br0">(</span><a href="c-types-size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s3 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s3<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%#x &quot;</span>, s3<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span>
<a href="c-io-puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">&quot; }&quot;</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; U<span class="es1">\&quot;</span>a&#29483;&#127820;<span class="es1">\&quot;</span> is a char32_t[%zu] holding { &quot;</span>, <span class="kw4">sizeof</span> s4 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s4<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">for</span><span class="br0">(</span><a href="c-types-size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s4 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s4<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%#x &quot;</span>, s4<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span>
<a href="c-io-puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">&quot; }&quot;</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; L<span class="es1">\&quot;</span>%ls<span class="es1">\&quot;</span> is a wchar_t[%zu] holding { &quot;</span>, s5, <span class="kw4">sizeof</span> s5 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s5<span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">for</span><span class="br0">(</span><a href="c-types-size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s5 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s5<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%#x &quot;</span>, <span class="br0">(</span><span class="kw4">unsigned</span><span class="br0">)</span>s5<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span>
<a href="c-io-puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">&quot; }&quot;</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#21487;&#33021;&#30340;&#36755;&#20986;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="text source-text">
<pre class="de1">&quot;a&#29483;&#127820;&quot; is a char[9] holding { 0x61 0xe7 0x8c 0xab 0xf0 0x9f 0x8d 0x8c 0 }
u8&quot;a&#29483;&#127820;&quot; is a char[9] holding { 0x61 0xe7 0x8c 0xab 0xf0 0x9f 0x8d 0x8c 0 }
u&quot;a&#29483;&#127820;&quot; is a char16_t[5] holding { 0x61 0x732b 0xd83c 0xdf4c 0 }
U&quot;a&#29483;&#127820;&quot; is a char32_t[4] holding { 0x61 0x732b 0x1f34c 0 }
L&quot;a&#29483;&#127820;&quot; is a wchar_t[4] holding { 0x61 0x732b 0x1f34c 0 }</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.4.5 String literals (p: 50-52)</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.4.5 String literals (p: 70-72)</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.4.5 String literals (p: 62-63)</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.1.4 String literals</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>