null
Union是一种数据类型,用于存储不同类型的变量。Union与struct非常相似,但有一些不同之处,下面将对此进行解释。联合可以在单个块中包含int、char、float等。一个联合一次可以包含一组数据。
定义并集
定义并集与struct非常相似。我们将使用 union
声明。之后 union
声明我们将把工会标签。在标记之后,我们可以将变量放在花括号中。联合标记是可选的。联合变量将自动实例化。
union [union tag] { member definition; ... } [one or more union variables];
在本例中,我们将定义一个名为 MyData
和一个变量 mydata
.
union MyData { int count; float range; char name[20]; };
在联合定义之后,我们还应该初始化 union MyData
类型。我们将初始化名为 mydata
union MyData mydata;
访问成员
在本部分中,我们将使用union变量的名称和成员名称来访问union成员。我们可以使用这个方法来设置和获取成员数据。我们将在联合变量名和联合成员名之间加一个点,如下所示。
mydata.count = 10;
下面我们可以看到一个示例,其中设置和获取成员变量数据。
#include#include union MyData { int count; float range; char name[20]; }; int main( ) { union MyData mydata; mydata.count = 10; mydata.range = 220.5; strcpy( mydata.name, "C Programming"); printf( "mydata.count : %d", mydata.count); printf( "mydata.range : %f", mydata.range); printf( "mydata.name : %s", mydata.name); return 0; }
结构与工会
如前所述,struct和union在语法上有相似之处。但最大的区别是结构变量将其成员保存在不同的内存区域,而所有相同的联合变量将保存相同的内存区域。简单的单一联合类型将为同一类型的所有联合变量保存单一数据。
相关文章: Linux Bash如何定义、使用Shell变量
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END