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

506 lines
34 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>&#25104;&#21592;&#35775;&#38382;&#36816;&#31639;&#31526;</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_operator_member_access skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#25104;&#21592;&#35775;&#38382;&#36816;&#31639;&#31526;</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>&#25104;&#21592;&#35775;&#38382;&#36816;&#31639;&#31526;&#20801;&#35768;&#35775;&#38382;&#20854;&#36816;&#31639;&#25968;&#30340;&#25104;&#21592;&#12290;</p>
<table class="wikitable" style="font-size:85%;">
<tr style="text-align:center">
<th>&#36816;&#31639;&#31526;</th>
<th>&#36816;&#31639;&#31526;&#21517;</th>
<th>&#31034;&#20363;</th>
<th>&#25551;&#36848;</th>
</tr>
<tr style="text-align:center">
<td><span class="t-c"><span class="mw-geshi c source-c"><span class="br0">[</span><span class="br0">]</span></span></span></td>
<td>&#25968;&#32452;&#19979;&#26631;</td>
<td><span class="t-c"><span class="mw-geshi c source-c">a<span class="br0">[</span>b<span class="br0">]</span></span></span></td>
<td>&#35775;&#38382;&#25968;&#32452; <b>a</b> &#30340;&#31532; <b>b</b> &#20010;&#20803;&#32032;</td>
</tr>
<tr style="text-align:center">
<td><span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">*</span></span></span></td>
<td>&#25351;&#38024;&#35299;&#24341;&#29992;</td>
<td><span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">*</span>a</span></span></td>
<td>&#35299;&#24341;&#29992;&#25351;&#38024; <b>a</b> &#20197;&#35775;&#38382;&#20854;&#25152;&#25351;&#21521;&#30340;&#23545;&#35937;&#25110;&#20989;&#25968;</td>
</tr>
<tr style="text-align:center">
<td><span class="t-c"><span class="mw-geshi c source-c"><span class="sy3">&amp;</span></span></span></td>
<td>&#21462;&#22336;</td>
<td><span class="t-c"><span class="mw-geshi c source-c"><span class="sy3">&amp;</span>a</span></span></td>
<td>&#21019;&#24314;&#25351;&#21521;&#23545;&#35937;&#25110;&#20989;&#25968; <b>a</b> &#30340;&#25351;&#38024;</td>
</tr>
<tr style="text-align:center">
<td><span class="t-c"><span class="mw-geshi c source-c">.</span></span></td>
<td>&#25104;&#21592;&#35775;&#38382;</td>
<td><span class="t-c"><span class="mw-geshi c source-c">a.<span class="me1">b</span></span></span></td>
<td>&#35775;&#38382;<a href="c-language-struct.html">&#32467;&#26500;&#20307;</a>&#25110;<a href="c-language-union.html">&#32852;&#21512;&#20307;</a> <b>a</b> &#30340;&#25104;&#21592; <b>b</b></td>
</tr>
<tr style="text-align:center">
<td><span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">-</span><span class="sy1">&gt;</span></span></span></td>
<td>&#36890;&#36807;&#25351;&#38024;&#30340;&#25104;&#21592;&#35775;&#38382;</td>
<td><span class="t-c"><span class="mw-geshi c source-c">a<span class="sy2">-</span><span class="sy1">&gt;</span>b</span></span></td>
<td>&#35775;&#38382; <b>a</b> &#25152;&#25351;&#21521;&#30340;<a href="c-language-struct.html">&#32467;&#26500;&#20307;</a>&#25110;<a href="c-language-union.html">&#32852;&#21512;&#20307;</a> &#30340;&#25104;&#21592; <b>b</b></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E4.B8.8B.E6.A0.87">&#19979;&#26631;</span></h3>
<p>&#25968;&#32452;&#19979;&#26631;&#36816;&#31639;&#31526;&#25317;&#26377;&#24418;&#24335;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><span class="t-spar">pointer-expression</span> <code><b>[</b></code> <span class="t-spar">integer-expression</span> <code><b>]</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><span class="t-spar">integer-expression</span> <code><b>[</b></code> <span class="t-spar">pointer-expression</span> <code><b>]</b></code></td>
<td>(2)</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">pointer-expression</span></td>
<td>-</td>
<td>&#25351;&#21521;&#23436;&#25972;&#23545;&#35937;&#25351;&#38024;&#31867;&#22411;&#30340;<a href="c-language-expressions.html">&#34920;&#36798;&#24335;</a></td>
</tr>
<tr class="t-par">
<td><span class="t-spar">integer-expression</span></td>
<td>-</td>
<td>&#25972;&#25968;&#31867;&#22411;<a href="c-language-expressions.html">&#34920;&#36798;&#24335;</a></td>
</tr>
</table>
<p>&#19979;&#26631;&#36816;&#31639;&#31526;&#20026;<a href="c-language-value_category.html">&#24038;&#20540;&#34920;&#36798;&#24335;</a>&#65292;&#20854;&#31867;&#22411;&#20026; <span class="t-spar">pointer-expression</span> &#25152;&#25351;&#21521;&#30340;&#23545;&#35937;&#30340;&#31867;&#22411;&#12290;</p>
<p>&#25353;&#29031;&#23450;&#20041;&#65292;&#19979;&#26631;&#36816;&#31639;&#31526; <span class="t-c"><span class="mw-geshi c source-c">E1<span class="br0">[</span>E2<span class="br0">]</span></span></span> &#20934;&#30830;&#31561;&#21516;&#20110; <span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">*</span><span class="br0">(</span><span class="br0">(</span>E1<span class="br0">)</span><span class="sy2">+</span><span class="br0">(</span>E2<span class="br0">)</span><span class="br0">)</span></span></span> &#12290;&#33509; <span class="t-spar">pointer-expression</span> &#20026;&#25968;&#32452;&#34920;&#36798;&#24335;&#65292;&#21017;&#23427;&#32463;&#21382;<a href="c-language-conversion.html">&#24038;&#20540;&#21040;&#21491;&#20540;&#36716;&#25442;</a>&#24182;&#25104;&#20026;&#25351;&#21521;&#25968;&#32452;&#39318;&#20803;&#32032;&#30340;&#25351;&#38024;&#12290;</p>
<p>&#30001;&#20110;<a href="c-language-operator_arithmetic.html">&#25351;&#38024;&#19982;&#25972;&#25968;&#38388;&#21152;&#27861;</a>&#30340;&#23450;&#20041;&#65292;&#32467;&#26524;&#26159;&#19979;&#26631;&#31561;&#20110; <span class="t-spar">integer-expression</span> &#32467;&#26524;&#30340;&#25968;&#32452;&#20803;&#32032;&#65288;&#25110;&#33509; <span class="t-spar">pointer-expression</span>&#25351;&#21521;&#26576;&#25968;&#32452;&#30340;&#31532; i &#20010;&#20803;&#32032;&#65292;&#21017;&#32467;&#26524;&#30340;&#19979;&#26631;&#20026; i &#21152;&#19978; <span class="t-spar">integer-expression</span> &#30340;&#32467;&#26524;&#65289;&#12290;</p>
<p>&#27880;&#24847;&#65306;&#22810;&#32500;&#25968;&#32452;&#19978;&#30340;&#32454;&#33410;&#35265;<a href="c-language-array.html">&#25968;&#32452;</a>&#12290;</p>
<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="kw4">int</span> main<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="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> <span class="br0">{</span><span class="nu0">1</span>,<span class="nu0">2</span>,<span class="nu0">3</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 %d<span class="es1">\n</span>&quot;</span>, a<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span>, <span class="co1">// n == 3</span>
<span class="nu0">2</span><span class="br0">[</span>a<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#21516;&#19978;&#65292; n == 3</span>
a<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span> <span class="sy1">=</span> <span class="nu0">7</span><span class="sy4">;</span> <span class="co1">// &#19979;&#26631;&#34920;&#36798;&#24335;&#26159;&#24038;&#20540;</span>
<span class="kw4">int</span> n<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> <span class="br0">{</span><span class="nu0">1</span>,<span class="nu0">2</span>,<span class="nu0">3</span>,<span class="nu0">4</span>,<span class="nu0">5</span>,<span class="nu0">6</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> <span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> <span class="sy3">&amp;</span>n<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span><span class="sy4">;</span> <span class="co1">// n &#30340;&#20803;&#32032;&#20026;&#25968;&#32452;</span>
<span class="kw4">int</span> x <span class="sy1">=</span> n<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span><span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#20877;&#27425;&#24212;&#29992; [] &#21040;&#25968;&#32452; n[1]</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;%c %c<span class="es1">\n</span>&quot;</span>, <span class="st0">&quot;abc&quot;</span><span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span>, <span class="nu0">2</span><span class="br0">[</span><span class="st0">&quot;abc&quot;</span><span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#23383;&#31526;&#20018;&#23383;&#38754;&#37327;&#20134;&#26159;&#25968;&#32452;</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">3 3
c c</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E8.A7.A3.E5.BC.95.E7.94.A8">&#35299;&#24341;&#29992;</span></h3>
<p><i>&#35299;&#24341;&#29992;</i>&#25110;<i>&#38388;&#25509;</i>&#34920;&#36798;&#24335;&#25317;&#26377;&#24418;&#24335;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td class="t-sdsc-nopad"><code><b>*</b></code> <span class="t-spar">pointer-expression</span></td>
<td class="t-sdsc-nopad"></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">pointer-expression</span></td>
<td>-</td>
<td>an <a href="c-language-expressions.html">expression</a> of any pointer type</td>
</tr>
</table>
<p>&#33509; <span class="t-spar">pointer-expression</span> &#20026;&#25351;&#21521;&#20989;&#25968;&#25351;&#38024;&#65292;&#21017;&#35299;&#24341;&#29992;&#36816;&#31639;&#31526;&#30340;&#32467;&#26524;&#20026;&#35813;&#20989;&#25968;&#30340;&#20989;&#25968;&#25351;&#20195;&#22120;&#12290;</p>
<p>&#33509; <span class="t-spar">pointer-expression</span> &#20026;&#25351;&#21521;&#23545;&#35937;&#25351;&#38024;&#65292;&#21017;&#32467;&#26524;&#20026;&#25351;&#20195;&#34987;&#25351;&#21521;&#23545;&#35937;&#30340;<a href="c-language-value_category.html">&#24038;&#20540;&#34920;&#36798;&#24335;</a>&#12290;</p>
<p>&#35299;&#24341;&#29992;&#31354;&#25351;&#38024;&#12289;&#25351;&#21521;&#22312;&#29983;&#23384;&#26399;&#22806;&#30340;&#23545;&#35937;&#30340;&#25351;&#38024;&#65288;&#24748;&#22402;&#25351;&#38024;&#65289;&#12289;&#38169;&#35823;&#23545;&#40784;&#30340;&#25351;&#38024;&#25110;&#25317;&#26377;&#19981;&#30830;&#23450;&#20540;&#30340;&#25351;&#38024;&#26159;&#26410;&#23450;&#20041;&#34892;&#20026;&#65292;&#38500;&#38750;&#22914;&#22312; <span class="t-c"><span class="mw-geshi c source-c"><span class="sy3">&amp;</span><span class="sy2">*</span>E</span></span> &#20013;&#19968;&#33324;&#65292;&#36890;&#36807;&#24212;&#29992;&#21462;&#22336;&#36816;&#31639;&#31526;&#21040;&#35299;&#24341;&#29992;&#36816;&#31639;&#31526;&#30340;&#32467;&#26524;&#65292;&#23558;&#23427;&#32622;&#31354;&#12290;</p>
<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="kw4">int</span> main<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw4">int</span> n <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
<span class="kw4">int</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="sy3">&amp;</span>n<span class="sy4">;</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;*p = %d<span class="es1">\n</span>&quot;</span>, <span class="sy2">*</span>p<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// *p &#30340;&#20540;&#21363;&#20026;&#23384;&#20648;&#20110; n &#30340;&#20540;</span>
<span class="sy2">*</span>p <span class="sy1">=</span> <span class="nu0">7</span><span class="sy4">;</span> <span class="co1">// *p &#26159;&#24038;&#20540;</span>
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">&quot;*p = %d<span class="es1">\n</span>&quot;</span>, <span class="sy2">*</span>p<span class="br0">)</span><span class="sy4">;</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">*p = 1
*p = 7</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E5.8F.96.E5.9D.80">&#21462;&#22336;</span></h3>
<p>&#21462;&#22336;&#36816;&#31639;&#31526;&#25317;&#26377;&#24418;&#24335;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>&amp;</b></code> <span class="t-spar">function</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>&amp;</b></code> <span class="t-spar">lvalue-expression</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>&amp;</b></code> <code><b>*</b></code> <span class="t-spar">expression</span></td>
<td>(3)</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>&amp;</b></code> <span class="t-spar">expression</span> <code><b>[</b></code> <span class="t-spar">expression</span> <code><b>]</b></code></td>
<td>(4)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#20989;&#25968;&#22320;&#22336;</div>
<div class="t-li1"><span class="t-li">2)</span> &#23545;&#35937;&#22320;&#22336;</div>
<div class="t-li1"><span class="t-li">3)</span> &#29305;&#27530;&#24773;&#20917;&#65306; &amp; &#19982; * &#24444;&#27492;&#25269;&#28040;&#65292;&#22343;&#19981;&#27714;&#20540;</div>
<div class="t-li1"><span class="t-li">4)</span> &#29305;&#27530;&#24773;&#20917;&#65306; &amp; &#19982; [] &#20013;&#38544;&#21547;&#30340; * &#25269;&#28040;&#65292;&#21482;&#27714;&#20540; [] &#20013;&#38544;&#21547;&#30340;&#21152;&#27861;
<p>&#20854;&#20013;</p>
<table class="t-par-begin">
<tr class="t-par">
<td><span class="t-spar">lvalue-expression</span></td>
<td>-</td>
<td>&#25317;&#26377;&#20219;&#20309;&#38750;<a href="c-language-bit_field.html">&#20301;&#22495;</a>&#31867;&#22411;&#19988;&#26080; <a href="c-language-storage_duration.html">register</a> &#23384;&#20648;&#31867;&#30340;<a href="c-language-value_category.html">&#24038;&#20540;</a>&#34920;&#36798;&#24335;</td>
</tr>
</table>
</div>
<p>&#21462;&#22336;&#36816;&#31639;&#31526;&#20135;&#29983;&#20854;&#36816;&#31639;&#25968;&#30340;<a href="c-language-value_category.html">&#38750;&#24038;&#20540;</a>&#22320;&#22336;&#65292;&#36866;&#20110;&#21021;&#22987;&#21270;&#25351;&#21521;&#36816;&#31639;&#25968;&#31867;&#22411;&#30340;&#25351;&#38024;&#12290;&#33509;&#36816;&#31639;&#25968;&#20026;&#20989;&#25968;&#25351;&#20195;&#22120; (<span class="t-v">(1)</span>) &#65292;&#21017;&#32467;&#26524;&#20026;&#25351;&#21521;&#20989;&#25968;&#25351;&#38024;&#12290;&#33509;&#36816;&#31639;&#25968;&#20026;&#23545;&#35937; (<span class="t-v">(2)</span>) &#65292;&#21017;&#32467;&#26524;&#20026;&#25351;&#21521;&#23545;&#35937;&#25351;&#38024;&#12290;</p>
<p>&#33509;&#36816;&#31639;&#25968;&#20026;&#35299;&#24341;&#29992;&#36816;&#31639;&#31526;&#65292;&#21017;&#19981;&#36827;&#34892;&#21160;&#20316;&#65288;&#25925;&#21487;&#20197;&#24212;&#29992; &amp;* &#21040;&#31354;&#25351;&#38024;&#65289;&#65292;&#38500;&#20102;&#32467;&#26524;&#26159;&#38750;&#24038;&#20540;&#12290;</p>
<p>&#33509;&#36816;&#31639;&#25968;&#26159;&#25968;&#32452;&#19979;&#26631;&#34920;&#36798;&#24335;&#65292;&#21017;&#19981;&#36827;&#34892;&#25968;&#32452;&#21040;&#25351;&#38024;&#36716;&#25442;&#21644;&#21152;&#27861;&#22806;&#30340;&#21160;&#20316;&#65292;&#25925; &amp;a[N] &#23545;&#22823;&#23567;&#20026; N &#30340;&#25968;&#32452;&#21512;&#27861;&#65288;&#21487;&#20197;&#33719;&#24471;&#23614;&#21518;&#19968;&#20301;&#32622;&#25351;&#38024;&#65292;&#19981;&#33021;&#35299;&#24341;&#29992;&#23427;&#65292;&#20294;&#27492;&#34920;&#36798;&#24335;&#20013;&#35299;&#24341;&#29992;&#34987;&#21462;&#28040;&#65289;&#12290;</p>
<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="kw4">int</span> f<span class="br0">(</span><span class="kw4">char</span> c<span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> c<span class="sy4">;</span><span class="br0">}</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">int</span> n <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
<span class="kw4">int</span> <span class="sy2">*</span>p <span class="sy1">=</span> <span class="sy3">&amp;</span>n<span class="sy4">;</span> <span class="co1">// &#23545;&#35937; n &#30340;&#22320;&#22336;</span>
<span class="kw4">int</span> <span class="br0">(</span><span class="sy2">*</span>fp<span class="br0">)</span><span class="br0">(</span><span class="kw4">char</span><span class="br0">)</span> <span class="sy1">=</span> <span class="sy3">&amp;</span>f<span class="sy4">;</span> <span class="co1">// &#20989;&#25968; f &#30340;&#22320;&#22336;</span>
<span class="kw4">int</span> a<span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> <span class="br0">{</span><span class="nu0">1</span>,<span class="nu0">2</span>,<span class="nu0">3</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> <span class="sy2">*</span>beg<span class="sy1">=</span>a, <span class="sy2">*</span>end<span class="sy1">=</span><span class="sy3">&amp;</span>a<span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#21516; end = n+3</span>
<span class="br0">}</span></pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E8.AE.BF.E9.97.AE">&#25104;&#21592;&#35775;&#38382;</span></h3>
<p>&#25104;&#21592;&#35775;&#38382;&#36816;&#31639;&#31526;&#25317;&#26377;&#24418;&#24335;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td class="t-sdsc-nopad"><span class="t-spar">expression</span> <code><b>.</b></code> <span class="t-spar">member-name</span></td>
<td class="t-sdsc-nopad"></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">expression</span></td>
<td>-</td>
<td><a href="c-language-struct.html">&#32467;&#26500;&#20307;</a>&#25110;<a href="c-language-union.html">&#32852;&#21512;&#20307;</a>&#31867;&#22411;&#34920;&#36798;&#24335;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">member-name</span></td>
<td>-</td>
<td>&#25351;&#21517; <span class="t-spar">expression</span> &#25152;&#25351;&#24102;&#30340;&#32467;&#26500;&#20307;&#25110;&#32852;&#21512;&#20307;&#30340;&#25104;&#21592;&#30340;<a href="c-language-identifier.html">&#26631;&#35782;&#31526;</a></td>
</tr>
</table>
<p>&#25104;&#21592;&#35775;&#38382;&#34920;&#36798;&#24335;&#25351;&#20195;&#20854;&#24038;&#36816;&#31639;&#25968;&#25152;&#25351;&#20195;&#30340; <a href="c-language-struct.html">struct</a> &#25110; <a href="c-language-union.html">union</a> &#30340;&#20855;&#21517;&#25104;&#21592;&#12290;&#23427;&#25317;&#26377;&#19982;&#20854;&#24038;&#36816;&#31639;&#25968;&#30456;&#21516;&#30340;<a href="c-language-value_category.html">&#20540;&#31867;&#21035;</a>&#12290;</p>
<p>&#33509;&#24038;&#36816;&#31639;&#20026; <a href="c-language-const.html">const</a> &#25110; <a href="c-language-volatile.html">volatile</a> &#38480;&#23450;&#65292;&#21017;&#32467;&#26524;&#20134;&#26377;&#38480;&#23450;&#12290;&#33509;&#24038;&#36816;&#31639;&#25968;&#20026;<a href="c-language-atomic.html">&#21407;&#23376;&#23545;&#35937;</a>&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<p>&#27880;&#24847;&#65306;&#38500;&#20102;&#25351;&#21517;&#32467;&#26500;&#20307;&#25110;&#32852;&#21512;&#20307;&#30340;&#26631;&#35782;&#31526;&#65292;&#19979;&#21015;&#34920;&#36798;&#24335;&#20134;&#21487;&#25317;&#26377;&#32467;&#26500;&#20307;&#25110;&#32852;&#21512;&#20307;&#31867;&#22411;&#65306;<a href="c-language-operator_assignment.html">&#36171;&#20540;</a>&#12289;<a href="c-language-operator_other.html#.E5.87.BD.E6.95.B0.E8.B0.83.E7.94.A8">&#20989;&#25968;&#35843;&#29992;</a>&#12289;<a href="c-language-operator_other.html#.E9.80.97.E5.8F.B7.E8.BF.90.E7.AE.97.E7.AC.A6">&#36887;&#21495;&#36816;&#31639;&#31526;</a>&#12289;<a href="c-language-operator_other.html#.E6.9D.A1.E4.BB.B6.E8.BF.90.E7.AE.97.E7.AC.A6">&#26465;&#20214;&#36816;&#31639;&#31526;</a>&#21644;<a href="c-language-compound_literal.html">&#22797;&#21512;&#23383;&#38754;&#37327;</a>&#12290;</p>
<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="kw1">struct</span> s <span class="br0">{</span><span class="kw4">int</span> x<span class="sy4">;</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">struct</span> s f<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> <span class="br0">(</span><span class="kw1">struct</span> s<span class="br0">)</span><span class="br0">{</span><span class="nu0">1</span><span class="br0">}</span><span class="sy4">;</span> <span class="br0">}</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="kw1">struct</span> s s<span class="sy4">;</span>
s.<span class="me1">x</span> <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span> <span class="co1">// OK &#65306;&#26356;&#25913; s &#30340;&#25104;&#21592;</span>
<span class="kw4">int</span> n <span class="sy1">=</span> f<span class="br0">(</span><span class="br0">)</span>.<span class="me1">x</span><span class="sy4">;</span> <span class="co1">// f() &#20026; struct s &#31867;&#22411;&#34920;&#36798;&#24335;</span>
<span class="co1">// f().x = 1; // &#38169;&#35823;&#65306;&#27492;&#25104;&#21592;&#35775;&#38382;&#34920;&#36798;&#24335;&#38750;&#24038;&#20540;</span>
<span class="kw4">const</span> <span class="kw1">struct</span> s sc<span class="sy4">;</span>
<span class="co1">// sc.x = 3; // &#38169;&#35823;&#65306; sc.x &#20026; const &#65292;&#19981;&#33021;&#34987;&#36171;&#20540;</span>
<span class="kw1">union</span> <span class="br0">{</span> <span class="kw4">int</span> x<span class="sy4">;</span> <span class="kw4">double</span> d<span class="sy4">;</span> <span class="br0">}</span> u <span class="sy1">=</span> <span class="br0">{</span><span class="nu0">1</span><span class="br0">}</span><span class="sy4">;</span>
u.<span class="me1">d</span> <span class="sy1">=</span> <span class="nu16">0.1</span><span class="sy4">;</span> <span class="co1">// &#26356;&#25913; union &#30340;&#27963;&#36291;&#25104;&#21592;</span>
<span class="br0">}</span></pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E9.80.9A.E8.BF.87.E6.8C.87.E9.92.88.E7.9A.84.E6.88.90.E5.91.98.E8.AE.BF.E9.97.AE">&#36890;&#36807;&#25351;&#38024;&#30340;&#25104;&#21592;&#35775;&#38382;</span></h3>
<p>&#25104;&#21592;&#35775;&#38382;&#34920;&#36798;&#24335;&#25317;&#26377;&#24418;&#24335;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td class="t-sdsc-nopad"><span class="t-spar">expression</span> <code><b>-&gt;</b></code> <span class="t-spar">member-name</span></td>
<td class="t-sdsc-nopad"></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">expression</span></td>
<td>-</td>
<td>&#25351;&#21521;<a href="c-language-struct.html">&#32467;&#26500;&#20307;</a>&#25110;<a href="c-language-union.html">&#32852;&#21512;&#20307;</a>&#30340;<a href="c-language-pointer.html">&#25351;&#38024;</a>&#31867;&#22411;&#34920;&#36798;&#24335;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">member-name</span></td>
<td>-</td>
<td>&#25351;&#21517; <span class="t-spar">expression</span> &#25152;&#25351;&#21521;&#30340;&#32467;&#26500;&#20307;&#25110;&#32852;&#21512;&#20307;&#30340;&#25104;&#21592;&#30340;<a href="c-language-identifier.html">&#26631;&#35782;&#31526;</a></td>
</tr>
</table>
<p>&#36890;&#36807;&#25351;&#38024;&#30340;&#25104;&#21592;&#35775;&#38382;&#34920;&#36798;&#24335;&#25351;&#20195;&#20854;&#24038;&#36816;&#31639;&#25968;&#25152;&#25351;&#21521;&#30340; <a href="c-language-struct.html">struct</a> &#25110; <a href="c-language-union.html">union</a> &#31867;&#22411;&#30340;&#20855;&#21517;&#25104;&#21592;&#12290;&#20854;&#20540;&#31867;&#21035;&#22987;&#32456;&#20026;<a href="c-language-value_category.html">&#24038;&#20540;</a>&#12290;</p>
<p>&#33509;&#24038;&#36816;&#31639;&#25968;&#25152;&#25351;&#21521;&#30340;&#31867;&#22411;&#26377; <a href="c-language-const.html">const</a> &#25110; <a href="c-language-volatile.html">volatile</a> &#38480;&#23450;&#65292;&#21017;&#32467;&#26524;&#20134;&#26377;&#38480;&#23450;&#12290;&#33509;&#24038;&#36816;&#31639;&#25968;&#25152;&#25351;&#21521;&#30340;&#31867;&#22411;&#20026;<a href="c-language-atomic.html">&#21407;&#23376;&#31867;&#22411;</a>&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<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="kw1">struct</span> s <span class="br0">{</span><span class="kw4">int</span> x<span class="sy4">;</span><span class="br0">}</span><span class="sy4">;</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="kw1">struct</span> s s<span class="sy1">=</span><span class="br0">{</span><span class="nu0">1</span><span class="br0">}</span>, <span class="sy2">*</span>p <span class="sy1">=</span> <span class="sy3">&amp;</span>s<span class="sy4">;</span>
p<span class="sy2">-</span><span class="sy1">&gt;</span>x <span class="sy1">=</span> <span class="nu0">7</span><span class="sy4">;</span> <span class="co1">// &#36890;&#36807;&#25351;&#38024;&#26356;&#25913; s.x &#30340;&#20540;</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>, p<span class="sy2">-</span><span class="sy1">&gt;</span>x<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#25171;&#21360; 7</span>
<span class="br0">}</span></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-11">
<ul>
<li>C11 &#26631;&#20934;&#65288;ISO/IEC 9899:2011&#65289;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>6.5.2.1 Array subscripting (p: 80)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.5.2.3 Structure and union members (p: 82-84)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.5.3.2 Address and indirection operators (p: 88-89)</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.5.2.1 Array subscripting (p: 70)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.5.2.3 Structure and union members (p: 72-74)</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>6.5.3.2 Address and indirection operators (p: 78-79)</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.3.2.1 Array subscripting</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>3.3.2.3 Structure and union members</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>3.3.3.2 Address and indirection operators</li>
</ul>
</dd>
</dl>
</div>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<ul>
<li><a href="c-language-operator_precedence.html">&#36816;&#31639;&#31526;&#20248;&#20808;&#32423;</a></li>
</ul>
<table class="wikitable">
<tr style="text-align:center">
<th colspan="7">&#24120;&#29992;&#36816;&#31639;&#31526;</th>
</tr>
<tr style="text-align:center">
<td><a href="c-language-operator_assignment.html">&#36171;&#20540;</a></td>
<td><a href="c-language-operator_incdec.html">&#33258;&#22686;<br />
&#33258;&#20943;</a></td>
<td><a href="c-language-operator_arithmetic.html">&#31639;&#26415;</a></td>
<td><a href="c-language-operator_logical.html">&#36923;&#36753;</a></td>
<td><a href="c-language-operator_comparison.html">&#27604;&#36739;</a></td>
<td><strong class="selflink">&#25104;&#21592;<br />
&#35775;&#38382;</strong></td>
<td><a href="c-language-operator_other.html">&#20854;&#20182;</a></td>
</tr>
<tr style="text-align:center">
<td>
<p><span class="t-c"><span class="mw-geshi c source-c">a <span class="sy1">=</span> b<br />
a <span class="sy2">+</span><span class="sy1">=</span> b<br />
a <span class="sy2">-</span><span class="sy1">=</span> b<br />
a <span class="sy2">*</span><span class="sy1">=</span> b<br />
a <span class="sy2">/</span><span class="sy1">=</span> b<br />
a <span class="sy2">%</span><span class="sy1">=</span> b<br />
a <span class="sy3">&amp;</span><span class="sy1">=</span> b<br />
a <span class="sy3">|</span><span class="sy1">=</span> b<br />
a <span class="sy3">^</span><span class="sy1">=</span> b<br />
a <span class="sy1">&lt;&lt;=</span> b<br />
a <span class="sy1">&gt;&gt;=</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">++</span>a<br />
<span class="sy2">--</span>a<br />
a<span class="sy2">++</span><br />
a<span class="sy2">--</span></span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi c source-c"><span class="sy2">+</span>a<br />
<span class="sy2">-</span>a<br />
a <span class="sy2">+</span> b<br />
a <span class="sy2">-</span> b<br />
a <span class="sy2">*</span> b<br />
a <span class="sy2">/</span> b<br />
a <span class="sy2">%</span> b<br />
~a<br />
a <span class="sy3">&amp;</span> b<br />
a <span class="sy3">|</span> b<br />
a <span class="sy3">^</span> b<br />
a <span class="sy1">&lt;&lt;</span> b<br />
a <span class="sy1">&gt;&gt;</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi c source-c"><span class="sy3">!</span>a<br />
a <span class="sy3">&amp;&amp;</span> b<br />
a <span class="sy3">||</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi c source-c">a <span class="sy1">==</span> b<br />
a <span class="sy3">!</span><span class="sy1">=</span> b<br />
a <span class="sy1">&lt;</span> b<br />
a <span class="sy1">&gt;</span> b<br />
a <span class="sy1">&lt;=</span> b<br />
a <span class="sy1">&gt;=</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi c source-c">a<span class="br0">[</span>b<span class="br0">]</span><br />
<span class="sy2">*</span>a<br />
<span class="sy3">&amp;</span>a<br />
a<span class="sy2">-</span><span class="sy1">&gt;</span>b<br />
a.<span class="me1">b</span></span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi c source-c">a<span class="br0">(</span>...<span class="br0">)</span><br />
a, b<br />
<span class="br0">(</span>type<span class="br0">)</span> a<br />
<span class="sy4">?</span> <span class="sy4">:</span><br />
<span class="kw4">sizeof</span><br />
_Alignof</span></span> <span class="t-mark-rev t-since-c11">(C11 &#36215;)</span></p>
</td>
</tr>
</table>
<table class="t-dsc-begin"></table>
</div>
</div>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>