后台面试经典问题-Union

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hahachenchen789/article/details/83276072

共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。

 

union foo{/*“共用”类型“FOO”*/

 

    int i;    /*“整数”类型“i”*/

    char c;   /*“字符”类型“C”*/

    double k;  /*“双”精度类型“K”*/

};

 

当一个共用体被声明时, 编译程序自动地产生一个变量, 其长度为联合中类型字节数最多的变量的类型长度的整数倍。

 

扫描二维码关注公众号,回复: 3775836 查看本文章

union foo{/*“共用”类型“FOO”*/

 

    char s[10];    /*“字符”类型的数组“S”下面有“10”个元素*/

        int i;        /*“整数”类型i*/

};

 

在这个union中,foo的内存空间的长度为12,是int型的3倍,而并不是数组的长度10。

 

猜你喜欢

转载自blog.csdn.net/hahachenchen789/article/details/83276072
今日推荐