所需E币: 5
时间: 2020-1-10 10:10
大小: 387.96KB
C语言陷阱和缺陷-扩充C语言陷阱和缺陷[1]原著:AndrewKoenig-AT&TBellLaboratoriesMurrayHill,NewJersey07094原文:收藏翻译:lover_P[译序]那些自认为已经“学完”C语言的人,请你们仔细读阅读这篇文章吧。路还长,很多东西要学。我也是……[概述]C语言像一把雕刻刀,锋利,并且在技师手中非常有用。和任何锋利的工具一样,C会伤到那些不能掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如何避免伤害。[内容]0简介1词法缺陷ooooo1.1=不是==1.2&和|不是&&和||1.3多字符记号1.4例外1.5字符串和字符2句法缺陷ooooo2.1理解声明2.2运算符并不总是具有你所想象的优先级2.3看看这些分号!2.4switch语句2.5函数调用o3链接2.6悬挂else问题o3.1你必须自己检查外部类型4语义缺陷ooooooooo4.1表达式求值顺序4.2&&、||和!运算符4.3下标从零开始4.4C并不总是转换实参4.5指针不是数组4.6避免提喻法4.7空指针不是空字符串4.8整数溢出4.9移位运算符5库函数oo5.1getc()返回整数5.2缓冲输出和内存分配6预处理器oo6.1宏不是函数6.2宏不是类型定义7可移植性缺陷ooooooooo7.1一个名字中都有什么?7.2一个整数有多大?7.3字符是带符号的还是无符号的?7.4右移位是带符号的还是无符号的?7.5除法……