[*p]は、ポインタpの指すアドレス単位のデータを取り出し、その値に1を加算することを意味しており、演算子[*]の優先順位が高いため、演算子 [ ] の場合、まず、ポインタ p が指すアドレス単位のデータを取得し、次に p が指す次の位置のデータを取得します。
#*p は、ポインタ p が指すアドレス単位のデータを取り出し、そのデータに 1 を加算することを意味します。演算により記号 * の優先順位が演算子よりも高いため、ポインタ p が指すアドレス単位のデータを先に取り出し、p は次の位置のデータを指します。 [推奨チュートリアル:
C チュートリアル ]
演算子 * は演算子 よりも優先度が高いため、ポインタ p が指すアドレス単位のデータが最初に取得されます。詳細は次のとおりです:
1. 配列 *p の現在位置の値を取得します;
2. そして、p は次の位置のデータを指します。
コード実行図は次のとおりです:
*p: * と はどちらも同じレベルの演算子で、右結合です。ただし、式全体を計算する前に計算する必要があるため、まず P が指すオブジェクトの値を抽出し、次に P に対して計算を実行して次のオブジェクトを指します。
*(P): この () は少しわかりにくいです。式全体が計算された後に追加する必要があります。そのため、上記と同様に、P が指すオブジェクトの値が抽出されます。抽出後, P は次のオブジェクトを指します。
(*p): これは異なります。最初に値を取得し、次に値を取得します。
*p: 最初に値を取得し、次に値を取得します。
なぜ、あるものは値を追加し、あるものはアドレスを追加するのでしょうか? これは、全体を束ねる括弧の役割です。組み合わせにも注目してください。
以上がC言語*p++とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。