⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pointerarithmetic.html

📁 关于 C++ 的历史无须我来介绍了
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <link rel="stylesheet" href="css/stdlayout.css" type="text/css">
  <link rel="stylesheet" href="css/print.css" type="text/css">
  <meta content="text/html; charset=gb2312" http-equiv="content-type">
  <title>指标的运算</title>
</head>
<body>
<h3><a href="http://caterpillar.onlyfun.net/GossipCN/index.html">From
Gossip@caterpillar</a></h3>
<h1><a href="CppGossip.html">C++ Gossip:&nbsp;指标的运算</a></h1>
除了指定运算子=、取址运算子&amp;与取值运算子*之外,还有+、-、++、--、+=与-=等运算子可以使用在指标上。 <br>
<br>
指标的加法与减法与一般数值的加减法不同,在指标运算上加 1
,是表示前进一个资料型态的记忆体长度,例如在int型态的指标上加1,是表示在记忆体位址上前进4个位元组的长度,如以下的例子所示范的: <br>
<br>
<pre>#include &lt;iostream&gt; <br>using namespace std; <br><br>int main() { <br>    int *ptr = 0;<br><br>    cout &lt;&lt; "ptr位置:" &lt;&lt; ptr <br>         &lt;&lt; endl;<br>    cout &lt;&lt; "ptr+1:" &lt;&lt; ptr+1 <br>         &lt;&lt; endl; <br>    cout &lt;&lt; "ptr+2:" &lt;&lt; ptr+2 <br>         &lt;&lt; endl;<br>    <br>    return 0; <br>}</pre>
<br>
执行结果: <br>
<small> </small><small> </small><small> </small><small> </small><small>
</small>
<table style="text-align: left; width: 100%;" border="0" cellpadding="2"
 cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(0, 0, 0);"><small><span
 style="color: rgb(255, 255, 255);">ptr位置:0<br>
ptr+1:0x4<br>
ptr+2:0x8</span><span style="color: rgb(255, 255, 255);"></span></small></td>
    </tr>
  </tbody>
</table>
<br>
这个记忆体位址的显示单位是位元组;由于宣告的是int型态的指标,所以每加1就会前进4个位元组的长度,如果您宣告的是double型态的指标,则每加
1就会前进8个位元组,如以下的程式所示: <br>
<br>
<pre>#include &lt;iostream&gt; <br>using namespace std; <br><br>int main() { <br>    double *ptr = 0;<br><br>    cout &lt;&lt; "ptr位置:" &lt;&lt; ptr <br>         &lt;&lt; endl;<br>    cout &lt;&lt; "ptr+1:" &lt;&lt; ptr+1 <br>         &lt;&lt; endl; <br>    cout &lt;&lt; "ptr+2:" &lt;&lt; ptr+2 <br>         &lt;&lt; endl;<br>    <br>    return 0; <br>}</pre>
<br>
执行结果: <br>
<small> </small><small> </small><small> </small><small> </small><small>
</small>
<table style="text-align: left; width: 100%;" border="0" cellpadding="2"
 cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(0, 0, 0);"><small><span
 style="color: rgb(255, 255, 255);">ptr位置:0<br>
ptr+1:0x8<br>
ptr+2:0x10</span><span style="color: rgb(255, 255, 255);"></span></small></td>
    </tr>
  </tbody>
</table>
<br>
以上所举的例子为指标的加法,在减法上观念也是相同,对指标减1即是在记忆体位址上退后一个资料型态单位的长度。 <br>
<br>
<br>
<br>
<br>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -