- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:任意の型のポインタを格納する場合)
任意の型のポインタを格納する場合
このQ&Aのポイント
- 任意の型のポインタを指定できるアドレス格納変数を作成し、任意の型(fuga1_t、fuga2_t)を指定できるようにしたい。
- 下記コードにて所望の動作ができていますが、他の書き方があれば教えてください。
- プログラムは問題なく動作しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
typedef struct{ void *aa; }hoge_t; ... //代入 hoge1.aa = &fuga1; hoge2.aa = &fuga2; printf("%d \n", (((fuga1_t*)(hoge1.aa))->test)); printf("%ld \n", (((fuga2_t*)(hoge2.aa))->test)); void*型のポインタ変数にはどんな型のアドレスでも代入できます。 保存されたアドレスを使うときにキャストします。