- 256 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 17:15:17 ]
- 共用体はこういうことのためにある。
enum Variant_Type { VARIANT_INT, VARIANT_DOUBLE, VARIANT_CHAR, VARIANT_STRING }; struct Variant { union { int i; double d; char c; char *s; } value; enum Variant_Type type; }; /* var->type で分岐して、その内容を表示する関数 */ void Variant_show(const struct Variant *var) { ... } int main(void) { Variant var; var.type = VARIANT_INT; var.value.i = 4; Variant_show(&var); var.type = VARIANT_STRING; var.value.s = "hoge"; Variant_show(&var); }
|

|