我们可以创建一个新的数据类型,它将存储另一个数据类型,例如:整型、字符型、双精度型?所以我们可以在这个类型的变量中存储任何东西。若否,原因为何?
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,则该值将是无关紧要的,因此在使用联合体时,请注意了解存储在联合体中的值的表示。
1条答案
按热度按时间6yt4nkrj1#
假设你正在谈论C,你可以使用一个联合:
请注意,所有联合体成员都位于相同的内存空间中(联合体的大小是较大成员的大小),因此,如果您通过示例将int分配给联合体,则如果您将其用作char,则该值将是无关紧要的,因此在使用联合体时,请注意了解存储在联合体中的值的表示。