C共用体

转自    http://www.runoob.com/cplusplus/cpp-preprocessor.html

共用体提供了一种使用相同的内存位置的有效方式。

您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。

定义共用体

union Data    //共用体类型

{

    int i;

    float f;

   char str[20];    //共用体占用的内存应足够存储共用体中最大的成员。共用体Data 将占用 20 个字节的内存空间。

} data;    //最后一个分号之前,您可以指定一个或多个共用体变量

访问共用体成员

成员访问运算符(.)

使用共用体的主要目的:

实例

#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/C++)