为什么写作本书
众所周知,C语言是一门既具有高级语言特点,又有汇编语言特点的通用计算机编程言,无论是操作系统(如 Microsoft Windows、 Mac OS Linux和UNX等)嵌式系与普通应用软件,还是目前流行的移动智能设备开发,随处都可以看见它依然矫健的身影它能够轻松地应用于各类层次的开发中,从设备驱动程序和操作系统组件到大规模应用序,它都能够很好地胜任。毋庸置疑,它是二十几年来使用最为广泛、生命力最强的编程言,它的设计思想也影响了众多后来的编程语言,例如C++、 Objective-C-cjava、C等
尽管C语言有着悠久的历史和广泛的使用场景,但它依旧让大部分计算机编程人员望而生畏,相信绝大多数读者也还停留在“入门者”这个阶段。所谓“人门者”指的是已经可以简单使用C语言编写普通应用程序,但是却不明白如何编写高质量代码的人。面对这样的实际情况,在准备编写本书之前,一连串的问题深深地映入笔者的脑海:到底什么样的编程书籍才能够帮助“入门者”快速进阶?面对市面上众多的优秀C语言编程书籍,编写本书的价值何在?怎样的内容才能够与众不同?
带着这一连串的问题,笔者开始回顾自己这些年的开发生涯,发现如下几类问题经常困扰“入门者”:
口基础数据类型问题:如数据取值范围、整数溢出与回绕、浮点数精度、数据类型转换
的范围检查等。
口数组与指针问题:指针与地址、野指针、空(ull)指针、NULL指针、void指针、多
级指针、指针函数与函数指针,以及数组越界与缓冲区溢出等。
口内存管理问题:内存分配、内存释放、内存越界与内存泄漏等。
口字符与字符串问题:串拷贝与内存拷贝,内存重叠与溢出,字符串查找等
网友评论