1

ポインタ、参照、アドレスに頭を悩ませようとしていますが、それを取得したと思うたびに、予期しない何かがポップアップします。

この例で値を設定するために構造を逆参照する必要がないのはなぜですか?

// pointer_tet.cpp
 #include <iostream>
struct example
{
    char name[20];
    int number;
};
int main()
{
   using namespace std;
   example anExample = {"Test", 5};
   example * pt = &anExample;
   pt->number = 6;
   cout << pt->number << endl;

   int anotherExample = 5;
   int * pd = &anotherExample;
   *pd = 6;
   cout << *pd << endl;

   return 0;
}

ありがとう!

編集:あなたの答えをありがとう!私を混乱させたのは、* pt.number=6を設定できなかったことです。

4

2 に答える 2

8

間接参照していますpt。あなたがやっている:

pt->number = 6;

これは次と同等です。

(*pt).number = 6;

オペレーターは、ポインターを介してメンバーにアクセスするための->便利な方法を提供します。

于 2013-03-13T20:05:14.553 に答える
0

できるよ

anExample.number = 6;

また

(*pt).number = 6;

cplusplus.com のポインター チュートリアルを読むと役立つ場合があります。

于 2013-03-13T20:10:55.843 に答える