美文网首页
C 共同体

C 共同体

作者: affyzh | 来源:发表于2020-03-12 12:09 被阅读0次

共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式,同时可以有效地精简内存。

定义共用体

为了定义共用体,您必须使用 union 语句,方式与定义结构类似。union 语句定义了一个新的数据类型,带有多个成员。union 语句的格式如下:

union [union tag]
{
   member definition;
   member definition;
   ...
   member definition;
} [one or more union variables];

共用体占用的内存应足够存储共用体中最大的成员。

访问共用体成员

和结构体类似,为了访问共用体的成员,我们使用成员访问运算符(.)。成员访问运算符是共用体变量名称和我们要访问的共用体成员之间的一个句号。

#include <stdio.h>
#include <string.h>
 
union Data
{
   int i;
   float f;
   char  str[20];
};
 
int main( )
{
   union Data data;        
 
   data.i = 10;
   data.f = 220.5;
   strcpy( data.str, "C Programming");
 
   printf( "data.i : %d\n", data.i);
   printf( "data.f : %f\n", data.f);
   printf( "data.str : %s\n", data.str);
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

data.i : 1917853763
data.f : 4122360580327794860452759994368.000000
data.str : C Programming

在这里,我们可以看到共用体的 i 和 f 成员的值有损坏,因为最后赋给变量的值占用了内存位置,这也是 str 成员能够完好输出的原因。现在让我们再来看一个相同的实例,这次我们在同一时间只使用一个变量,这也演示了使用共用体的主要目的:

include <stdio.h>
#include <string.h>
 
union Data
{
   int i;
   float f;
   char  str[20];
};
 
int main( )
{
   union Data data;        
 
   data.i = 10;
   printf( "data.i : %d\n", data.i);
   
   data.f = 220.5;
   printf( "data.f : %f\n", data.f);
   
   strcpy( data.str, "C Programming");
   printf( "data.str : %s\n", data.str);
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

data.i : 10
data.f : 220.500000
data.str : C Programming

在这里,所有的成员都能完好输出,因为同一时间只用到一个成员。

相关文章

  • C 共同体

    共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时...

  • snmptrap 命令解析

    举例 说明 参数说明snmptrap命令-v 2cSnmp协议版本-c public共同体10.10.12.219...

  • 陈教授的分享: 给年轻爸爸的教育建议。

    “家”,是共同体——生存共同体、学习共同体、成长共同体、经济共同体、经营共同体。 最高的家共同体,是信仰共同体。 ...

  • “爸爸讲”给年轻爸爸的教育建议0005

    再说一遍:“家”,是共同体——生存共同体、学习共同体、成长共同体、经济共同体、经营共同体。 最高的家共同体,是信仰...

  • NBA篮球外围让球怎么玩

    维护和践行多边主义,这里可以【c33 88 365、C0M】推动构建人类命运共同体“察势者明,趋势者智。”互利合作...

  • 共同体

    共同体分为三种 1、利益共同体 2、事业共同体 3、命运共同体 首先要分清这三种共同体,利益共同体就是只谈钱,看重...

  • 共同体

    共同体分为三种 1、利益共同体 2、事业共同体 3、命运共同体 首先要分清这三种共同体,利益共同体就是只谈钱,看重...

  • 2020-02-07

    三个共同体 今天听了润总讲的的三个共同体,利益共同体,事业共同体,命运共同体;员工与企业共同体的不同状态,创业期,...

  • C语言结构体、共同体

    1、结构体 基本语法: 可使用.语法直接访问结构体中的成员。 结构体重命名: 使用typedef struct [...

  • 【商128】三个共同体:降一半工资,委以重任,你干吗?

    企业与员工是雇佣关系,本质是某种形式上的共同体,这种共同体有三种形态:利益共同体、事业共同体和命运共同体。 利益共...

网友评论

      本文标题:C 共同体

      本文链接:https://www.haomeiwen.com/subject/elfujhtx.html