《C陷阱与缺陷》一1.4 整型常量
1.4 常量 缺陷 陷阱 整型
2023-09-11 14:17:35 时间
本节书摘来自异步社区《C陷阱与缺陷》一书中的第1章,第1.4节,作者 【美】Andrew Koenig,更多章节内容可以访问云栖社区“异步社区”公众号查看
如果一个整型常量的第一个字符是数字0,那么该常量将被视作八进制数。因此,10与010的含义截然不同。此外,许多C编译器会把8和9也作为八进制数字处理。这种多少有点奇怪的处理方式来自八进制数的定义。例如,0195的含义是1×82+9×81+5×80,也就是141(十进制)或者0215(八进制)。我们当然不建议这种用法,ANSI C标准也禁止这种用法。
需要注意这种情况,有时候在上下文中为了格式对齐的需要,可能无意中将十进制数写成了八进制数,例如:
struct { int part_number; char *description; }parttab[] = { 046, "left-handed widget" , 047, "right-handed widget" , 125, "frammis" };
【C缺陷与陷阱】----语义“陷阱” 那获得该下标为0的元素的指针,如果给这个指针加1,就能得到指向该数组中下一个元素的指针。也就是指针+一个整数得到的还是指针,只不过指针的位置发生改变
【C陷阱与缺陷】----语法陷阱 由于一个程序错误可以从不同层面采用不同方式进行考察,而根据程序错误与考察程序的方式之间的相关性,可以将程序错误进行划分为各种陷阱与缺陷
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- 图解css3:核心技术与案例实战. 1.4 CSS3的现状及未来
- Linux集群和自动化维1.4.1 系统的基础优化
- Python数据可视化1.4 可视化如何帮助决策
- ROS机器人程序设计(原书第2版)1.4.7 在BeagleBone Black中安装rosinstall
- 《精通Linux设备驱动程序开发》——1.4 邮件列表和论坛
- 《Java遗传算法编程》—— 1.4 进化计算的优势
- 《OpenGL超级宝典(第5版)》——第1章,第1.4节3D编程的基本原则
- 《C++ AMP:用Visual C++加速大规模并行计算》——1.4 小结
- 《Python游戏编程入门》——1.4 小结
- 《Android 应用案例开发大全(第3版)》——第1.4节DDMS的灵活应用
- 《自己动手做交互系统》——1.4 参考文献
- 《OpenStack实战指南》—— 1.4 OpenStack与CloudStack的比较
- 《Spark大数据处理:技术、应用与性能优化》——1.4 Spark分布式架构与单机多核架构的异同