構造体のポインタ参照

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型。
ポインタではない。
優先順位に関係する話ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です