Expert C Programming 总结(五)
来源:互联网 发布:马佳佳 知乎 编辑:程序博客网 时间:2024/05/15 01:36
1. 标准C语言具有八进制,十进制和十六进制常量,但是没有二进制常量。
2. 警惕! 真正值得注意之处———参数也会被提升!另一个会发生隐式类型转换的地方就是参数传递。这就是为什么单个的printf()格式字符串%d能适用用于几个不同类型,short,char或int,而不论实际传递的是上述类型的哪一个。函数从堆栈中(或寄存器中)取出来的参数总是int类型。
3. 隐式类型转换是语言中的一种临机手段,起源于简化最初的编译器的想法。把所有的操作数转换为统一的长度极大的简化了代码的生成。这样,压倒堆栈中的参数都是同一长度的。所以运行时,系统只需知道参数的数目,而不需要知道它们的长度。
4. 即使不理睬缺省的类型转换,也可以用C语言进行大量的编码工作。
5. 在理解隐式类型转换这档子事之前,不能称自己是专家级C程序员。隐式类型转换在涉及原型的上下文中显得非常重要。
6. 函数原型不仅改变了C语言的语法,而且引入了一种微妙的语义区别(不是人们所希望的)。ANSI C中,在被调用函数的函数体内,这些值会根据函数定义时参数的声明类型自动裁剪为该类型。 之所以要把它们裁剪为原来的大小,是为了简化编译器——所有的东西都是同一长度。 在K&R C中,如果传递的是一个float,函数实际接收到的是double。
7. ANSI C函数和K&R C函数混搭的话,如果使用一个较窄的类型就会失败!
8. 调用库函数之后检查errno。它隶属于ANSI C 标准。<errno.h>。
9. ioctl()(I/O控制)系统调用。它提供一个针对终端特性的良好的控制层。I/O设置为raw状态可以实现阻塞式读入,如果终端没有字符输入,进程就一直等待,直到有自负输入为止。
curses函数库为它们提供了各种不同的可移植的程序。是一个屏幕管理调用函数库。 <curses.h>.
10 .在ANSI C中流行的不良方法:调用函数和通过指针调用函数(或任意层次的指针间接引用)可以使用同一种语法。
11. 有时候,花点时间把编程问题分解成几个部分往往是解决它的最快方法。
12. 如何在一条语句汇总进行类型转换并调用该函数呢?
1. 一个对象的声明,它的类型就是想要转换的结果类型。
2. 删除标识符(以及任何如extern之类的存储限定符),并把剩余的内容放在一对括号里。
3. 把第二步产生的内容放在需要进行类型转换的对象的左边。
- Expert C Programming 总结(五)
- 《Expert C Programming》总结(一)
- Expert C Programming总结(二)
- Expert C Programming 总结(三)
- Expert C Programming 总结(四)
- Expert C Programming 总结 (六)
- Expert C Programming读书笔记
- 读《expert c programming》
- Expert C Programming
- Expert C Programming (C专家编程) 读书总结
- 《c expert programming》流水帐
- Expert C Programming阅读笔记
- Expert C Programming读书笔记III
- Expert C Programming读书笔记IV
- 《Expert C Programming 》学习笔记
- From《Expert C Programming》01
- Something About Expert C Programming
- Expert C Programming阅读笔记 2
- 对比几家的翻译
- Unix/Linux C++应用开发-gdb调试工具使用
- NHibernate之旅系列文章导航
- 共用体
- ssh ProxyCommand
- Expert C Programming 总结(五)
- SQL Server2005 sa登录错误及应对方案
- 使用JSP和Struts正确的解决用户退出问题
- 电子商务网站策划书
- 3DMax Plugin - Program 2
- 报告称中国每年因盗版软件“节省”8亿美元
- ios 开发中遇到 UIAlertView 窗口无法release的问题
- ubuntu JDK 安装
- 电子商务网站建设策划书范例