一个变量中C种不同的类型

时间:2018-07-30 17:25:35

标签: c unions void-pointers

是否有一些简单的方法可以在一个变量中存储和恢复不同类型?

我考虑过使用:

typedef enum {
    float_e, int_e, char_e
} types;

typedef struct {
    types type;
    void *data;
} array_t;

或者这个:

typedef enum {
    float_e, int_e, char_e
} types;

typedef struct {
    types type;
    union {
        float f;
        int i;
        char c;
    }
} array_t;

然后,我想在许多不同的函数中使用数据,但是我不想在每个函数开关中使用它来检查其存储的数据类型。有一些更简单的方法吗?

0 个答案:

没有答案