220 lines
29 KiB
HTML
220 lines
29 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>指针声明</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_pointer skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">指针声明</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="c.html">c</a>‎ | <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>指针是一种对象类型,它引用函数或另一种类型的对象,可以添加限定符。指针亦可以不引用任何内容,这通过一个特定的空指针值指示。</p>
|
|
<h3><span class="mw-headline" id=".E8.AF.AD.E6.B3.95">语法</span></h3>
|
|
<p>在指针声明的<a href="c-language-declarations.html">声明文法</a>中, <span class="t-spar">类型说明符</span> 序列指代所指向的类型(可以是函数或对象,可以是不完整类型),而<i>声明符</i>拥有形式:</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">属性说明符序列</span><span class="t-mark">(可选)</span> <span class="t-spar">限定符</span><span class="t-mark">(可选)</span> <span class="t-spar">声明符</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>其中 <span class="t-spar">声明符</span> 可以是命名所声明指针的标识符,包括另一个指针声明符(这指示一个指向指针的指针):</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">float</span> <span class="sy2">*</span>p, <span class="sy2">**</span>pp<span class="sy4">;</span> <span class="co1">// p 是指向 float 的指针</span>
|
|
<span class="co1">// pp 是指向指向 float 指针的指针</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">int</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// fp 是指向类型 int(int) 为函数的指针</span></pre></div>
|
|
</div>
|
|
<p>出现在 <code><b>*</b></code> 与标识符(或另一个嵌套声明符)间的 <span class="t-spar">限定符</span> 将被声明的限定赋予指针类型:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> n<span class="sy4">;</span>
|
|
<span class="kw4">const</span> <span class="kw4">int</span> <span class="sy2">*</span> pc <span class="sy1">=</span> <span class="sy3">&</span>n<span class="sy4">;</span> <span class="co1">// pc 是指向 const int 的非 const 指针</span>
|
|
<span class="co1">// *pc = 2; // 错误:不能通过不带转型的 pc 修改 n</span>
|
|
pc <span class="sy1">=</span> <a href="c-types-NULL.html"><span class="kw103">NULL</span></a><span class="sy4">;</span> <span class="co1">// OK : pc 自身可修改</span>
|
|
|
|
<span class="kw4">int</span> <span class="sy2">*</span> <span class="kw4">const</span> cp <span class="sy1">=</span> <span class="sy3">&</span>n<span class="sy4">;</span> <span class="co1">// cp 是一个指向非 const 的 int 的 const 指针</span>
|
|
<span class="sy2">*</span>cp <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span> <span class="co1">// OK :通过 cp 修改 n</span>
|
|
<span class="co1">// cp = NULL; // 错误: cp 自身不能修改</span>
|
|
|
|
<span class="kw4">int</span> <span class="sy2">*</span> <span class="kw4">const</span> <span class="sy2">*</span> pcp <span class="sy1">=</span> <span class="sy3">&</span>cp<span class="sy4">;</span> <span class="co1">// 指向指向非 const 的 int 的 const 指针的非 const 指针</span></pre></div>
|
|
</div>
|
|
<p><span class="t-spar">属性说明符序列</span><span class="t-mark-rev t-since-c23">(C23)</span> 为<a href="c-language-attributes.html">属性</a>的可选列表,应用到被声明的指针。</p>
|
|
<h3><span class="mw-headline" id=".E8.A7.A3.E9.87.8A">解释</span></h3>
|
|
<p>指针用于间接使用,这是种普遍存在的编程技巧;它们可以用于实现按引用传递语义、访问有动态<a href="c-language-storage_duration.html">存储期</a>的对象、实现“可选”类型(使用空指针值)、结构体间的聚合关系、回调(使用指向函数指针)、泛型接口(使用指向 void 的指针)以及其他更多。</p>
|
|
<h4><span class="mw-headline" id=".E6.8C.87.E5.90.91.E5.AF.B9.E8.B1.A1.E7.9A.84.E6.8C.87.E9.92.88">指向对象的指针</span></h4>
|
|
<p>指向对象的指针可以通过应用于对象类型(可以不完整)表达式的<a href="c-language-operator_member_access.html">取值运算符</a>初始化:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> n<span class="sy4">;</span>
|
|
<span class="kw4">int</span> <span class="sy2">*</span>np <span class="sy1">=</span> <span class="sy3">&</span>n<span class="sy4">;</span> <span class="co1">// 指向 int 的指针</span>
|
|
<span class="kw4">int</span> <span class="sy2">*</span><span class="kw4">const</span> <span class="sy2">*</span>npp <span class="sy1">=</span> <span class="sy3">&</span>np<span class="sy4">;</span> <span class="co1">// 指向指向非 const 的 int 的 const 指针的非 const 指针</span>
|
|
|
|
<span class="kw4">int</span> a<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span><span class="sy4">;</span>
|
|
<span class="kw4">int</span> <span class="br0">(</span><span class="sy2">*</span>ap<span class="br0">)</span><span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span> <span class="sy1">=</span> <span class="sy3">&</span>a<span class="sy4">;</span> <span class="co1">// 指向 int 数组的指针</span>
|
|
|
|
<span class="kw1">struct</span> S <span class="br0">{</span> <span class="kw4">int</span> n<span class="sy4">;</span> <span class="br0">}</span> s <span class="sy1">=</span> <span class="br0">{</span><span class="nu0">1</span><span class="br0">}</span>
|
|
<span class="kw4">int</span><span class="sy2">*</span> sp <span class="sy1">=</span> <span class="sy3">&</span>s.<span class="me1">n</span><span class="sy4">;</span> <span class="co1">// 指向作为 s 成员的 int 的指针</span></pre></div>
|
|
</div>
|
|
<p>指针可以出现作<a href="c-language-operator_member_access.html#.E8.A7.A3.E5.BC.95.E7.94.A8">间接运算符</a> (一元 <code><b>*</b></code> )的运算数,它返回标识所指向对象的<a href="c-language-value_category.html">左值</a>:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> n<span class="sy4">;</span>
|
|
<span class="kw4">int</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="sy3">&</span>n<span class="sy4">;</span> <span class="co1">// 指针 p 指向 n</span>
|
|
<span class="sy2">*</span>p <span class="sy1">=</span> <span class="nu0">7</span><span class="sy4">;</span> <span class="co1">// 存储 7 于 n</span>
|
|
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%d<span class="es1">\n</span>"</span>, <span class="sy2">*</span>p<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// 左值到右值转换从 n 读取值</span></pre></div>
|
|
</div>
|
|
<p>指向 <a href="c-language-struct.html">struct</a> 和 <a href="c-language-union.html">union</a> 类型对象的指针亦可作为<a href="c-language-operator_member_access.html">经由指针成员访问</a>运算符 <code><b>-></b></code> 的左运算数出现。</p>
|
|
<p>因为<a href="c-language-array.html#.E6.95.B0.E7.BB.84.E5.88.B0.E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">数组到指针</a>隐式转换,指向数组首元素的指针可通过数组类型表达式初始化:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> a<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span><span class="sy4">;</span>
|
|
<span class="kw4">int</span> <span class="sy2">*</span>p <span class="sy1">=</span> a<span class="sy4">;</span> <span class="co1">// 指向a[0]</span>
|
|
|
|
<span class="kw4">int</span> b<span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span><span class="sy4">;</span>
|
|
<span class="kw4">int</span> <span class="br0">(</span><span class="sy2">*</span>row<span class="br0">)</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> b<span class="sy4">;</span> <span class="co1">// 指向b[0]</span></pre></div>
|
|
</div>
|
|
<p>确定的<a href="c-language-operator_arithmetic.html">加减</a>、<a href="c-language-operator_assignment.html">复合赋值</a>、<a href="c-language-operator_incdec.html">自增减</a>运算符定义于指向数组元素的指针。</p>
|
|
<p><a href="c-language-operator_comparison.html">比较运算符</a>在一些情况下定义于指向对象的指针:二个表示相同地址的指针比较相等,二个空指针值比较相等,比较指向同一数组的元素的指针以二个元素的数组下标比较,及指向结构体成员的指针以这些成员声明顺序比较。</p>
|
|
<p>许多实现亦提供随意来源指针的<a href="https://en.wikipedia.org/wiki/Total_order#Strict_total_order" class="extiw" title="enwiki:Total order">严格全序</a>,例如若它们实现在连续(“平直”)的虚拟地址空间上。</p>
|
|
<h4><span class="mw-headline" id=".E6.8C.87.E5.90.91.E5.87.BD.E6.95.B0.E7.9A.84.E6.8C.87.E9.92.88">指向函数的指针</span></h4>
|
|
<p>指向函数的指针可由函数地址初始化。因为<a href="c-language-conversion.html#.E5.87.BD.E6.95.B0.E5.88.B0.E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">函数到指针</a>转换,取址运算符是可选的:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
|
|
<span class="kw4">void</span> <span class="br0">(</span><span class="sy2">*</span>pf1<span class="br0">)</span><span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span> <span class="sy1">=</span> <span class="sy3">&</span>f<span class="sy4">;</span>
|
|
<span class="kw4">void</span> <span class="br0">(</span><span class="sy2">*</span>pf2<span class="br0">)</span><span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span> <span class="sy1">=</span> f<span class="sy4">;</span> <span class="co1">// 等于&f</span></pre></div>
|
|
</div>
|
|
<p>不同于函数,指向函数的指针是对象,从而能存储在数组中、复制、赋值、作为参数传递给其他函数等等。</p>
|
|
<p>指向函数的指针可以用作<a href="c-language-operator_other.html#.E5.87.BD.E6.95.B0.E8.B0.83.E7.94.A8">函数调用运算符</a>的左运算数;这会调用所指向的函数:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="co2">#include <stdio.h></span>
|
|
<span class="kw4">int</span> f<span class="br0">(</span><span class="kw4">int</span> n<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">"%d<span class="es1">\n</span>"</span>, n<span class="br0">)</span><span class="sy4">;</span>
|
|
<span class="kw1">return</span> n<span class="sy2">*</span>n<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> <span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span> <span class="sy1">=</span> f<span class="sy4">;</span>
|
|
<span class="kw4">int</span> x <span class="sy1">=</span> p<span class="br0">(</span><span class="nu0">7</span><span class="br0">)</span><span class="sy4">;</span>
|
|
<span class="br0">}</span></pre></div>
|
|
</div>
|
|
<p>解引用函数指针产生所指向函数的函数指代器:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> f<span class="br0">(</span><span class="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="br0">)</span> <span class="sy1">=</span> f<span class="sy4">;</span> <span class="co1">// 指针 p 指向 f</span>
|
|
<span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// 通过函数指代器调用函数 f</span>
|
|
p<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// 直接通过指针调用 f</span></pre></div>
|
|
</div>
|
|
<p><a href="c-language-operator_comparison.html">等于比较运算符</a>定义于指向函数的指针(若指向相同函数则它们比较相等)。</p>
|
|
<p>因为<a href="c-language-type.html#.E5.85.BC.E5.AE.B9.E7.B1.BB.E5.9E.8B" class="mw-redirect">函数类型的兼容性</a>忽略函数参数的顶层限定符,指向仅在参数的顶层限定符有区别的函数指针是可互换的:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span>, fc<span class="br0">(</span><span class="kw4">const</span> <span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
|
|
<span class="kw4">int</span> <span class="br0">(</span><span class="sy2">*</span>pc<span class="br0">)</span><span class="br0">(</span><span class="kw4">const</span> <span class="kw4">int</span><span class="br0">)</span> <span class="sy1">=</span> f<span class="sy4">;</span> <span class="co1">// OK</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="kw4">int</span><span class="br0">)</span> <span class="sy1">=</span> fc<span class="sy4">;</span> <span class="co1">// OK</span>
|
|
pc <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// OK</span></pre></div>
|
|
</div>
|
|
<h4><span class="mw-headline" id=".E6.8C.87.E5.90.91_void_.E6.8C.87.E9.92.88">指向 void 指针</span></h4>
|
|
<p>指向任意类型对象的指针能<a href="c-language-conversion.html">隐式转换</a>成指向 <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">void</span></span></span> 的指针(可选地有 <a href="c-language-const.html">const</a> 或 <a href="c-language-volatile.html">volatile</a> 限定),反之亦然:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="c source-c">
|
|
<pre class="de1"><span class="kw4">int</span> n<span class="sy1">=</span><span class="nu0">1</span>, <span class="sy2">*</span>p<span class="sy1">=</span><span class="sy3">&</span>n<span class="sy4">;</span>
|
|
<span class="kw4">void</span><span class="sy2">*</span> pv <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// int* 到 void*</span>
|
|
<span class="kw4">int</span><span class="sy2">*</span> p2 <span class="sy1">=</span> pv<span class="sy4">;</span> <span class="co1">// void* 到 int*</span>
|
|
<a href="c-io-fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%d<span class="es1">\n</span>"</span>, <span class="sy2">*</span>p2<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// 打印 1</span></pre></div>
|
|
</div>
|
|
<p>指向 void 的指针用于传递未知类型的对象,这在泛型接口中常用: <span class="t-lc"><a href="c-memory-malloc.html">malloc</a></span> 返回 <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">void</span><span class="sy2">*</span></span></span> ,<span class="t-lc"><a href="c-algorithm-qsort.html">qsort</a></span> 期待用户提供接受二个 <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">const</span> <span class="kw4">void</span><span class="sy2">*</span></span></span> 参数的回调。 <a rel="nofollow" class="external text" href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html">pthread_create</a> 期待用户提供接受并返回 <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">void</span><span class="sy2">*</span></span></span> 的回调。所有情况下,调用方负责在使用前将指针转换到正确的类型。</p>
|
|
<h3><span class="mw-headline" id=".E7.A9.BA.E6.8C.87.E9.92.88">空指针</span></h3>
|
|
<p>每种类型的指针都有含有一个该类型的特殊的值,称为<i>空指针值</i>。值为空的指针不指向对象或函数(解引用空指针是未定义行为),而且与所有相同类型的且值以为<i>空</i>的指针比较相等。</p>
|
|
<p>为初始化指针为空,或将空值赋给已存在的指针,可以使用空指针常量( <span class="t-lc"><a href="c-types-NULL.html">NULL</a></span> ,或其他任何拥有值零的整数常量)。<a href="c-language-initialization.html">静态初始化</a>亦将指针初始化到它们的空值。</p>
|
|
<p>空指针可以指示对象不存在,或可用于指示错误条件的其他对象。通常,接收指针参数的函数几乎总是需要检查该值是否为空,并对该情况特殊处理(例如, <span class="t-lc"><a href="c-memory-free.html">free</a></span> 在传递空指针时不做任何事)。</p>
|
|
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">注解</span></h3>
|
|
<p>尽管任何指向对象的指针<a href="c-language-cast.html">能被转型</a>成指向其他类型对象的指针,解引用指向类型异于对象声明类型的指针几乎总是未定义行为。细节见<a href="c-language-object.html#.E4.B8.A5.E6.A0.BC.E5.88.AB.E5.90.8D.E4.BD.BF.E7.94.A8">严格别名使用</a>。</p>
|
|
<table class="t-rev-begin">
|
|
<tr class="t-rev t-since-c99">
|
|
<td>
|
|
<p>可以指示函数,通过不会有别名使用的指针访问对象。细节见 <a href="c-language-restrict.html"><code>restrict</code></a> 。</p>
|
|
</td>
|
|
<td><span class="t-mark-rev t-since-c99">(C99 起)</span></td>
|
|
</tr>
|
|
</table>
|
|
<p>数组类型的左值表达式,在大多数语境中使用时,会经历<a href="c-language-conversion.html">隐式转换</a>到指向数组首元素的指针。细节见<a href="c-language-array.html#.E6.95.B0.E7.BB.84.E5.88.B0.E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">数组到指针转换</a>。</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>str <span class="sy1">=</span> <span class="st0">"abc"</span><span class="sy4">;</span> <span class="co1">// "abc" 是 char[4] 类型的数组, str 是指向 'a' 的指针</span></pre></div>
|
|
</div>
|
|
<p>指向 char 的指针通常<a href="c-string-byte.html">用于表示字符串</a>。为表示合法的字节字符串,指针必须指向作为 char 数组元素的 char ,而且在大于或等于指针所引用元素的下标的某个下标处,必须有零值的 char 。</p>
|
|
<h3><span class="mw-headline" id=".E5.BC.95.E7.94.A8">引用</span></h3>
|
|
<div class="t-ref-std-17">
|
|
<ul>
|
|
<li>C17 标准(ISO/IEC 9899:2018):</li>
|
|
</ul>
|
|
<dl>
|
|
<dd>
|
|
<ul>
|
|
<li>6.7.6.1 Pointer declarators (p: 93-94)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="t-ref-std-11">
|
|
<ul>
|
|
<li>C11 标准(ISO/IEC 9899:2011):</li>
|
|
</ul>
|
|
<dl>
|
|
<dd>
|
|
<ul>
|
|
<li>6.7.6.1 Pointer declarators (p: 130)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="t-ref-std-c99">
|
|
<ul>
|
|
<li>C99 标准(ISO/IEC 9899:1999):</li>
|
|
</ul>
|
|
<dl>
|
|
<dd>
|
|
<ul>
|
|
<li>6.7.5.1 Pointer declarators (p: 115-116)</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="t-ref-std-c89">
|
|
<ul>
|
|
<li>C89/C90 标准(ISO/IEC 9899:1990):</li>
|
|
</ul>
|
|
<dl>
|
|
<dd>
|
|
<ul>
|
|
<li>3.5.4.1 Pointer declarators</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">参阅</span></h3>
|
|
<table class="t-dsc-begin"></table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|