C–联合

山姆超市代购Member's Mark海盐苏打饼干咸味薄饼干零食1.5kg代购
| 月销量5800件
优惠价38.8元
原价¥55.9

淘口令:

¥o6EHXSL4NvN¥
 

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
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享