ポインター式:* ptr ++、* ++ ptrおよび++ * ptr
最近、自分では理解できないこの問題に遭遇しました。 これらの3つの表現は本当に何ですか意味するのでしょうか? *ptr++ *++ptr ++*ptr リッチーを試しました。しかし、残念ながら、彼はこれらの3つの操作について彼が言ったことを追跡することができませんでした。 それらはすべて、ポインタ/ポイントされた値をインクリメントするために実行されることを知っています。評価の優先順位や順序についても多くのことがあると思います。最初にポインターをインクリメントしてからそのポインターのコンテンツをフェッチするように、単純にコンテンツをフェッチしてからポインターをインクリメントするなどです。ご覧のとおり、実際の操作について明確に理解していません。できるだけ早くクリアしてください。しかし、それらをプログラムに適用する機会を得たとき、私は本当に迷っています。例えば: int main() { const char *p = "Hello"; while(*p++) printf("%c",*p); return 0; } 私にこの出力を与えます: ello しかし、私の期待はそれが印刷されることでしたHello。最後の1つのリクエスト-特定のコードスニペットで各式がどのように機能するかの例を教えてください。ほとんどの場合、理論のほんの一部だけが私の頭の上を飛んでいきます。