ホームページ  >  記事  >  バックエンド開発  >  C++ ではポインター演算はどのように機能しますか?

C++ ではポインター演算はどのように機能しますか?

王林
王林オリジナル
2024-06-03 20:28:02490ブラウズ

ポインター演算は C++ でポインターを操作する方法であり、ポインターに対して加算、減算、乗算の演算を行うことができます。これらの操作を使用して、配列要素と文字列文字にアクセスできます。

指针的算术运算在 C++ 中如何工作?

C++ でのポインター演算の仕組み

ポインターは、他の変数のアドレスを格納する変数の一種です。ポインター演算により、ポインター値の加算、減算、乗算が可能になります。これは、配列要素や文字列文字にアクセスするときに便利です。

加算演算

  • ポインタに整数を加算すると、ポインタが指すアドレスに対応するバイト数が加算されます。
  • たとえば、ptrint 型変数のアドレスを指す場合、ptr + 1 は次の int を指します。 要素のアドレス。 ptr 指向一个 int 类型变量的地址,ptr + 1 将指向下一 int 元素的地址。

减法运算

  • 指针减一个整数会在指针指向的地址上减少相应的字节数。
  • 与加法运算类似,它用于访问数组或者字符串中的更早元素。

乘法运算

  • 指针乘以一个表示元素大小的整数会使指针指向数组或字符串中相应索引的元素。
  • 例如,如果数组 arr 中每个元素大小为 4 字节,arr[2] 等价于 *(arr + 2)

減算演算

ポインタから整数を減算すると、ポインタが指すアドレスの対応するバイト数が減ります。

🎜加算演算と同様に、配列または文字列内の以前の要素にアクセスするために使用されます。 🎜🎜🎜🎜 乗算 🎜🎜🎜🎜 ポインタに要素のサイズを表す整数を乗算すると、ポインタは配列または文字列内の対応するインデックスにある要素を指すようになります。 🎜🎜たとえば、配列 arr の各要素のサイズが 4 バイトの場合、arr[2]*(arr + 2)。 🎜🎜🎜🎜実際のケース🎜🎜🎜 以下は、ポインター演算を示す C++ プログラムの一部です: 🎜<pre class='brush:cpp;toolbar:false;'>#include &lt;iostream&gt; using namespace std; int main() { // 定义一个数组 int arr[] = {1, 2, 3, 4, 5}; // 获得数组第一个元素的指针 int *ptr = arr; // 使用指针算术访问数组元素 cout &lt;&lt; *ptr &lt;&lt; endl; // 输出 1 cout &lt;&lt; *(ptr + 1) &lt;&lt; endl; // 输出 2 return 0; }</pre>

以上がC++ ではポインター演算はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。