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

cu6pst1q  于 2023-05-22  发布在  其他
关注(0)|答案(1)|浏览(127)

我们可以创建一个新的数据类型,它将存储另一个数据类型,例如:整型、字符型、双精度型?所以我们可以在这个类型的变量中存储任何东西。若否,原因为何?

6yt4nkrj

6yt4nkrj1#

假设你正在谈论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,则该值将是无关紧要的,因此在使用联合体时,请注意了解存储在联合体中的值的表示。

相关问题