位段与联合,枚举类型
来源:互联网 发布:人工智能产业高峰论坛 编辑:程序博客网 时间:2024/06/06 03:27
1.位段与联合(union)
#include <stdio.h>union{struct{unsigned int x1 : 2;unsigned int x2 : 3;unsigned int x3 : 3;}x;char y;}z;int main(){z.y = 100;printf("%d\n",z.x.x3);return 0;}运行结果:
3
原因:联合的所有成员引用的是内存中的相同位置,100 = 0x64=0110 0100,默认小端模式,低地址存低字节,那么x1为00,x2为001,x3为011
2.枚举类型(enum)
实例:
从键盘输入一个整数,显示与该整数对应的枚举常量的英文名称。
# include <stdio.h>int main(){enum weekday { sun, mon, tue, wed, thu, fri, sat } day;//声明了一个枚举类型enum weekday,可以用此类型来定义变量, 枚举元素本身由系统定义了一个表示序号的数值,//从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…, sat值为6。并定义了一个枚举变量day,它的值只能是sum到sat之一int k;printf("input a number(0--6)");scanf("%d", &k);day = (enum weekday)k;//一个整数不能直接赋给一个枚举变量,必须强制进行类型转换才能赋值switch (day){case sun:printf("sunday/n");break;case mon: printf("monday/n");break;case tue:printf("tuesday/n");break;case wed:printf("wednesday/n");break;case thu:printf("thursday/n");break;case fri: printf("friday/n");break;case sat:printf("satday/n");break;default:printf("input error/n");break;}return 0;}运行结果:
input a number(0-6)1
monday
0 0
- 位段与联合,枚举类型
- 自定义类型(结构体、位段、枚举和联合)
- 自定义类型:结构体,位段,枚举,联合
- 自定义类型(结构体,枚举,联合,位段)
- 自定义类型(结构体,位段,枚举,联合)总结
- Pace 12 (自定义类型:结构体 位段 枚举 联合)
- 浅谈 位段?枚举?联合?
- 总结结构体枚举联合位段
- 结构体、位段、枚举、联合
- 位段、位段计算大小、枚举、联合
- 自定义类型部分知识写一篇博客。 知识点: >结构体类型创建 >结构体初始化 >结构体内存对齐 >位段,位段计算机大小。 >枚举+联合。
- enum枚举类型与union联合类型
- 【C语言】联合与枚举类型
- 自定义类型—结构体,位段,联合
- 位段和联合
- 联合和枚举类型
- C++ 联合,枚举,类型
- 【结构体】关于结构体,枚举,联合,位段的一些知识
- Xml与Java对象之间的解析转换
- Scala 基础总结
- Mac下安装svn并且检出项目
- Github Reset
- Unsolicited response received on idle HTTP channel starting with "[]\n"; err=<nil>
- 位段与联合,枚举类型
- Android打开各种类型的文件方法总结
- NetWork——描述一次完整的网络请求过程
- Js获取图片的真实大小
- Percona监控工具初探
- android 混淆配置 实例实战项目讲解
- libgdx之瓦片地图(TiledMap)
- x86反汇编练习-20161120
- iterm2 lrzsz