• ベストアンサー

構造体を指すポインタからその中のポインタ変数が指す要素の参照

構造体を指しているポインタから、 その構造体内にあるポインタ変数の指している要素に値を代入する方法が、どうしてもわかりませんでした。 どなたか助けてください、お願いします。 struct Kouzou { int* p; }; int main() { Kouzou kou; Kouzou* k_p; k_p = &kou; k_p -> *p = 10; //エラー }

質問者が選んだベストアンサー

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

*k_p->p = 10; ですけど、pが指す先を定義しておかないと エラーになりますよ。

skinhead_juggler
質問者

お礼

おもわずなるほど、と息をのんでしまいました。 おかげで解決致しました。 ありがとうございます。

その他の回答 (1)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.2

構造体Kouzouのメンバーpは、intのポインタです。 従って、代入できるのは値ではなく、アドレスです。 Kouzou kou; Kouzou* k_p; int intValue = 10; k_p = &kou; k_p ->p = &intValue; が正しいです。

skinhead_juggler
質問者

お礼

pの指す要素に代入をしようとしていたのですが、 私の質問の仕方が適切ではなく、質問の意図がわかりにくかったかもしれません。 しかし参考になりました。回答ありがとうございました。

関連するQ&A