C言語初心者です。
構造体Aの中に定義された構造体Bに対して、演算を行うことは可能ですか?
例えば、
struct POINT2{ double z; double z2; }; struct POINT{ int x; int y; struct POINT2 q; }; struct POINT mul2(struct POINT pnt){ pnt.x *=2; pnt.x *=2; pnt.q *=2; //★★
としたときに、pnt.x *=2;、pnt.x *=2;は正常に演算できますが、
pnt.q *=2;の処理はint型じゃないので当然ですがエラーがでます。
【エラー内容: invalid operands to binary expression ('struct POINT2' and 'int')】
どうにかしてqの中身であるPOINT2内のメンバz,z2にアクセス
して、pnt.x *=2;とかで実行されるのと同じような処理をしたいです。
なお、「あまりこういう書き方はしない」という場合は、
一般的な書き方を教えて頂けると嬉しいです。
(上のようなコードだと、一つの構造体にまとめればいい話なのですが、
構造体の中に構造体を作りたいようなケースもあるのかなと思って上記のような
コードを用いています。)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/03 02:36
2020/05/03 02:38