ホームページ  >  記事  >  バックエンド開発  >  C言語*p++とはどういう意味ですか?

C言語*p++とはどういう意味ですか?

云罗郡主
云罗郡主オリジナル
2019-03-06 11:39:0075311ブラウズ

[*p]は、ポインタpの指すアドレス単位のデータを取り出し、その値に1を加算することを意味しており、演算子[*]の優先順位が高いため、演算子 [ ] の場合、まず、ポインタ p が指すアドレス単位のデータを取得し、次に p が指す次の位置のデータを取得します。

C言語*p++とはどういう意味ですか?

#*p は、ポインタ p が指すアドレス単位のデータを取り出し、そのデータに 1 を加算することを意味します。演算により記号 * の優先順位が演算子よりも高いため、ポインタ p が指すアドレス単位のデータを先に取り出し、p は次の位置のデータを指します。 [推奨チュートリアル: C チュートリアル ]

演算子 * は演算子 よりも優先度が高いため、ポインタ p が指すアドレス単位のデータが最初に取得されます。詳細は次のとおりです:

1. 配列 *p の現在位置の値を取得します;

2. そして、p は次の位置のデータを指します。

コード実行図は次のとおりです:

C言語*p++とはどういう意味ですか?

*p: * と はどちらも同じレベルの演算子で、右結合です。ただし、式全体を計算する前に計算する必要があるため、まず P が指すオブジェクトの値を抽出し、次に P に対して計算を実行して次のオブジェクトを指します。

*(P): この () は少しわかりにくいです。式全体が計算された後に追加する必要があります。そのため、上記と同様に、P が指すオブジェクトの値が抽出されます。抽出後, P は次のオブジェクトを指します。

(*p): これは異なります。最初に値を取得し、次に値を取得します。

*p: 最初に値を取得し、次に値を取得します。

なぜ、あるものは値を追加し、あるものはアドレスを追加するのでしょうか? これは、全体を束ねる括弧の役割です。組み合わせにも注目してください。

以上がC言語*p++とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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