【c专家编程】分析c语言的声明
2024-10-20 11:46:13
联合:
在结构中,每个成员依次存储,而在联合中,所有成员都从偏移地址零开始存储,联合一般被用来节省空间,用法和struct相同。
union bits32_tag {
int whole; // 一个32位的值
struct {char c0, c1, c2, c3;} byte; //4个8位的字节
}; int main()
{
bits32_tag value;
value.whole = 0b1111111111111111;
cout << "value.whole: " << value.whole << endl; //
cout << "c0: " << (size_t)value.byte.c0 <<endl; //
cout << "c1: " << (size_t)value.byte.c1 <<endl; //
cout << "c2: " << (size_t)value.byte.c2 <<endl; //
cout << "c3: " << (size_t)value.byte.c3 <<endl; //
return ;
}
枚举:把一串名字与一串整型值联系在一起
格式:enum 可选标签 {...} 可选变量定义;
enum sizes {
small = ,
medium,
large = ,
humungous
}; int main()
{
cout << small << " " << medium << " " << humungous ;
return ;
}
缺省情况下,整型值从零开始,如果对列表中的某个标识符进行了赋值,那么其后的标识符的值比所赋的值大1。枚举有个优点,#define定义的名字一般在编译的时候被丢弃(被值给取代),而枚举名字则通常一直在调试器中可见,可以在调试代码时使用它们。
最新文章
- 【转】python编码规范
- js处理用户输入的银行卡号实现四位一段,并且只能输入数字
- openjdk sunjdk区别
- boost库区间range基本原理及使用实例
- 华为荣耀6PLUS 秒杀苹果
- Android进阶篇-线程分析(一)
- Windows Server以服务方式部署Tomcat
- offsetParent 到底是哪一个?
- ELK整体方案
- stl中的容器、迭代器和算法----vector中的find实现
- javaweb项目环境搭建,jdk,tomcat,myeclipse,sqlserver安装 配置
- WiFi攻击中“核武器”
- SQL-在Update中进行子查询和左联查询
- Appium Python API 中文版
- 分析轮子(二)- <;<; ,>;>;,>;>; (左移、右移、无符号右移)
- 【Wannafly挑战赛22A计数器】【裴蜀定理】
- 我发起了一个 用 C 语言 作为 中间语言 的 编译器 项目 VMBC
- Android 集成高德地图
- python基础之Day4
- 认知计算 Cognitive Computing
热门文章
- 对于Nginx+PHP实现大文件上传时候需要修改的参数
- GIMP的Path用法,快速选区
- perl5中锚位修饰符\A \z \Z 和perl4中^(开头)和$(结尾)的区别
- Linux 特殊权限位简介
- Lavarel的学习社区网站和框架优点
- Exchange 2010 打补丁的顺序
- Java-将字符串转为数字
- luogu3396 哈希冲突
- ssh执行远程服务器脚本 提示php: command not found
- POJ-1743 Musical Theme,后缀数组+二分!