typedef struct _hoge{ int a; }hoge_t; hoge_t buf; //実体確保 hoge_t *mosa; mosa=&buf; //メモリ割り当て scanf("%d",&mosa->a); コンソールで10を入力 printf("%d",mosa->a);
ってやると出力は10になる。
つまり、mosaはポインタだけど、aはポインタとして扱う必要はない。
&mosa->a ↓ &(mosa->a)
って考えるとわかりやすいかも。
ここでmosa->aはただのint型。
ポインタではない。
優先順位に関係する話ですね。