c 联合 union
2012-08-24 17:33
183 查看
总结:联合里面不管你有多少个变量,最终给予分配的空间只有一个被最终赋值的那个变量值的空间
输出: 从编译来看,它说后面都是多余元素
下面同样
也是同样的输出:
再演示一个
#include "stdio.h"
union{
int a;
int b;
int c;
int d;
}x;
main(){
x.b = 5;
x.c = 6;
printf("%d\n",x.a);
printf("%d\n",x.b);
printf("%d\n",x.c);
printf("%d\n",x.d);
}
输出:
pateo@pateo-B86N53X:~/work/study$ cc main.c -o main
pateo@pateo-B86N53X:~/work/study$ ./main
6
6
6
6
#include "stdio.h" union{ int a; int b; int c; int d; }x = {5,6,7,8}; main(){ printf("%d\n",x.a); printf("%d\n",x.b); printf("%d\n",x.c); printf("%d\n",x.d); }
输出: 从编译来看,它说后面都是多余元素
pateo@pateo-B86N53X:~/work/study$ cc main.c -o main main.c:8: warning: excess elements in union initializer main.c:8: warning: (near initialization for ‘x’) main.c:8: warning: excess elements in union initializer main.c:8: warning: (near initialization for ‘x’) main.c:8: warning: excess elements in union initializer main.c:8: warning: (near initialization for ‘x’) pateo@pateo-B86N53X:~/work/study$ ./main 5 5 5 5
下面同样
#include "stdio.h" union{ int a; int b; int c; int d; }x; main(){ x.b = 5; printf("%d\n",x.a); printf("%d\n",x.b); printf("%d\n",x.c); printf("%d\n",x.d); }
也是同样的输出:
pateo@pateo-B86N53X:~/work/study$ cc main.c -o main pateo@pateo-B86N53X:~/work/study$ ./main 5 5 5 5
再演示一个
#include "stdio.h"
union{
int a;
int b;
int c;
int d;
}x;
main(){
x.b = 5;
x.c = 6;
printf("%d\n",x.a);
printf("%d\n",x.b);
printf("%d\n",x.c);
printf("%d\n",x.d);
}
输出:
pateo@pateo-B86N53X:~/work/study$ cc main.c -o main
pateo@pateo-B86N53X:~/work/study$ ./main
6
6
6
6
相关文章推荐
- mysql两个字段相同的表联合查询(union的使用)
- Mysql联合查询UNION和UNION ALL的使用介绍
- 2.4.2 差别联合类型(discriminated union type)
- Mysql之union联合查询
- c语言 结构(struct)和联合(union)简介
- c语言 结构(struct)和 联合(union)
- 联合(union)
- c语言中的结构(struct)和联合(union)简介
- C/C++中的联合 union
- 结构体struct && 联合union
- 第六讲:c/c++复合数据类型struct以及联合类型union,动态内存申请malloc和calloc
- 联合(union)用法(转载)
- 结构体struct 和 联合union 内存分配
- 联合(union)用法
- Mysql联合查询UNION和Order by同时使用报错问题的解决办法
- 【C/C++】联合union的用法和说明
- 思达报表工具Style Report基础教程—创建一个多数据块的联合(Union)、镜像(Mirror)
- 学点 C 语言(28): 数据类型 - 联合(union)
- C/C++联合(Union)浅谈
- Mysql联合查询UNION和UNION ALL的使用介绍