ホームページ > バックエンド開発 > C++ > C++ における & と * の違い

C++ における & と * の違い

下次还敢
リリース: 2024-04-26 17:55:44
オリジナル
1127 人が閲覧しました

C における & と * の違いは次のとおりです。 & は変数アドレスを取得し、そのアドレスをポインター変数に格納します。ポインター変数を逆参照して、それが指す値を取得します。

C++ における & と * の違い

#C の & と * の違い

短い答え:

& は変数アドレスを受け取りますが、* はアドレスを逆参照します。

詳細説明:

アドレス (&) の取得:

  • & 操作演算子は変数のメモリアドレスを取得するために使用されます。
  • アドレスを別の変数 (ポインター変数と呼ばれます) に格納します。
  • ポインタ変数のデータ型は、指す変数のデータ型と同じである必要があります。

例:

int num = 10;
int *ptr = #
ログイン後にコピー
上記のコードでは、

ptrnum## のメモリ アドレスを指すようになりました。 #。

逆参照アドレス (*):

  • 演算子は、ポインター変数を逆参照し、それが指す値を取得するために使用されます。 。
  • これは、ポイントされた変数にアクセスすることと同じです。
  • # 演算子を使用して、ポインター変数の読み取りと書き込みを行うことができます。

例:

int num = 10;
int *ptr = #
*ptr = 20;
ログイン後にコピー
上記のコードでは、

*ptrptr を逆参照し、値を変更します。つまり、num の値は 20 になります。

相違点の概要:

OperatorUse変数アドレスの取得##*#を指す値を取得します。
&
ポインタ変数の参照解除、
&

演算子と ## 演算子は通常、ペアで使用されることに注意してください。 #& を使用してアドレスを取得し、# を使用してアドレスを逆参照し、値にアクセスまたは変更します。

以上がC++ における & と * の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
c++
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート