我们可以将所有数据类型合而为一吗?

时间:2019-07-12 10:37:26

标签: variables

大家好。我们是否可以创建一个新的数据类型,该数据类型将存储其他数据类型,例如:整数,字符,双精度型?因此,我们可以将任何内容存储在此类型的变量中。如果没有,为什么不呢?

1 个答案:

答案 0 :(得分:0)

假设您正在谈论C,则可以使用并集:

typedef union {
    int    myint;
    double mydouble;
    char mychar;
} u_mydatatype;

// define a new variable
u_mydatatype data;
// access the members according to the type you want to match
data.mychar = '3';

请注意,所有联合成员都位于相同的内存空间中(联合的大小是较大成员的大小),因此,如果通过示例将int分配给您的联合,则使用该值将是无关紧要的它作为一个字符,因此在使用它时要注意知道存储在联合中的值的表示形式。