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

问题描述 投票:0回答:1

我们可以创建一个新的数据类型,它会存储另一种数据类型,例如:integer、char、double?所以我们可以在这种类型的变量中存储任何东西。如果没有,为什么不呢?

c variables
1个回答
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 分配给联合,那么如果您将其用作,则该值将无关紧要一个 char,所以当你使用它时要注意知道存储在联合中的值的表示。

© www.soinside.com 2019 - 2024. All rights reserved.