C和指针

C和指针
9.0
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Kenneth·Reek)
出版社: 人民邮电出版社
2008-04
版次: 2
ISBN: 9787115172013
定价: 65.00
装帧: 平装
开本: 大16开
纸张: 胶版纸
页数: 448页
字数: 760千字
正文语种: 简体中文
原版书名: Pointers on C
  •   《C和指针POINTERSONC》提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。  全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。  本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习c语言的参考。 Kenneth·Reek是罗彻斯特理工大学计算机科学教授。他是一位经验丰富的C程序员,曾为多家公司担任过技术顾问。他讲授的课程有操作系统、数据通信、计算机网络、形式语言、算法分析和交换系统等。本书正是基于他9年的编程及教学的经验积累。 第1章 快速上手1.1 简介1.1.1 空白和注释1.1.2 预处理指令1.1.3 main函数1.1.4 read_column_numbers函数1.1.5 rearrange函数1.2 补充说明1.3 编译1.4 总结1.5 警告的总结1.6 编程提示的总结1.7 问题1.8 编程练习第2章 基本概念2.1 环境2.1.1 翻译2.1.2 执行2.2 词法规则2.2.1 字符2.2.2 注释2.2.3 自由形式的源代码2.2.4 标识符2.2.5 程序的形式2.3 程序风格2.4 总结2.5 警告的总结2.6 编程提示的总结2.7 问题2.8 编程练习第3章 数据3.1 基本数据类型3.1.1 整型家族3.1.2 浮点类型3.1.3 指针3.2 基本声明3.2.1 初始化3.2.2 声明简单数组3.2.3 声明指针3.2.4 隐式声明3.3 typedef3.4 常量3.5 作用域3.5.1 代码块作用域3.5.2 文件作用域3.5.3 原型作用域3.5.4 函数作用域3.6 链接属性3.7 存储类型3.8 static关键字3.9 作用域、存储类型示例3.10 总结3.11 警告的总结3.12 编程提示的总结3.13 问题第4章 语句4.1 空语句4.2 表达式语句4.3 代码块4.4 if语句4.5 while语句4.5.1 break和continue语句4.5.2 while语句的执行过程4.6 for语句4.7 do语句4.8 switch语句4.8.1 switch中的break语句4.8.2 default子句4.8.3 switch语句的执行过程4.9 goto语句4.10 总结4.11 警告的总结4.12 编程提示的总结4.13 问题4.14 编程练习第5章 操作符和表达式5.1 操作符5.1.1 算术操作符5.1.2 移位操作符5.1.3 位操作符5.1.4 赋值5.1.5 单目操作符5.1.6 关系操作符5.1.7 逻辑操作符5.1.8 条件操作符5.1.9 逗号操作符5.1.10 下标引用、函数调用和结构成员5.2 布尔值5.3 左值和右值5.4 表达式求值5.4.1 隐式类型转换5.4.2 算术转换5.4.3 操作符的属性5.4.4 优先级和求值的顺序5.5 总结5.6 警告的总结5.7 编程提示的总结5.8 问题5.9 编程练习第6章 指针6.1 内存和地址6.2 值和类型6.3 指针变量的内容6.4 间接访问操作符6.5 未初始化和非法的指针6.6 NULL指针6.7 指针、间接访问和左值6.8 指针、间接访问和变量6.9 指针常量6.10 指针的指针6.11 指针表达式6.12 实例6.13 指针运算6.13.1 算术运算6.13.2 关系运算6.14 总结6.15 警告的总结6.16 编程提示的总结6.17 问题6.18 编程练习第7章 函数7.1 函数定义7.2 函数声明7.2.1 原型7.2.2 函数的缺省认定7.3 函数的参数7.4 ADT和黑盒7.5 递归7.5.1 追踪递归函数7.5.2 递归与迭代7.6 可变参数列表7.6.1 stdarg宏7.6.2 可变参数的限制7.7 总结7.8 警告的总结7.9 编程提示的总结7.10 问题7.11 编程练习第8章 数组8.1 一维数组8.1.1 数组名8.1.2 下标引用8.1.3 指针与下标8.1.4 指针的效率8.1.5 数组和指针8.1.6 作为函数参数的数组名8.1.7 声明数组参数8.1.8 初始化8.1.9 不完整的初始化8.1.10 自动计算数组长度8.1.11 字符数组的初始化8.2 多维数组8.2.1 存储顺序8.2.2 数组名8.2.3 下标8.2.4 指向数组的指针8.2.5 作为函数参数的多维数组8.2.6 初始化8.2.7 数组长度自动计算8.3 指针数组8.4 总结8.5 警告的总结8.6 编程提示的总结8.7 问题8.8 编程练习第9章 字符串、字符和字节9.1 字符串基础9.2 字符串长度9.3 不受限制的字符串函数9.3.1 复制字符串9.3.2 连接字符串9.3.3 函数的返回值9.3.4 字符串比较9.4 长度受限的字符串函数9.5 字符串查找基础9.5.1 查找一个字符9.5.2 查找任何几个字符9.5.3 查找一个子串9.6 高级字符串查找9.6.1 查找一个字符串前缀9.6.2 查找标记9.7 错误信息9.8 字符操作9.8.1 字符分类9.8.2 字符转换9.9 内存操作9.10 总结9.11 警告的总结9.12 编程提示的总结9.13 问题9.14 编程练习第10章 结构和联合10.1 结构基础知识10.1.1 结构声明10.1.2 结构成员10.1.3 结构成员的直接访问10.1.4 结构成员的间接访问10.1.5 结构的自引用10.1.6 不完整的声明10.1.7 结构的初始化10.2 结构、指针和成员10.2.1 访问指针10.2.2 访问结构10.2.3 访问结构成员10.2.4 访问嵌套的结构10.2.5 访问指针成员10.3 结构的存储分配10.4 作为函数参数的结构10.5 位段10.6 联合10.6.1 变体记录10.6.2 联合的初始化10.7 总结10.8 警告的总结10.9 编程提示的总结10.10 问题10.11 编程练习第11章 动态内存分配11.1 为什么使用动态内存分配11.2 malloc和free11.3 calloc和realloc11.4 使用动态分配的内存11.5 常见的动态内存错误11.6 内存分配实例11.7 总结11.8 警告的总结11.9 编程提示的总结11.10 问题11.11 编程练习第12章 使用结构和指针12.1 链表12.2 单链表12.2.1 在单链表中插入12.2.2 其他链表操作12.3 双链表12.3.1 在双链表中插入12.3.2 其他链表操作12.4 总结12.5 警告的总结12.6 编程提示的总结12.7 问题12.8 编程练习第13章 高级指针话题13.1 进一步探讨指向指针的指针13.2 高级声明13.3 函数指针13.3.1 回调函数13.3.2 转移表13.4 命令行参数13.4.1 传递命令行参数13.4.2 处理命令行参数13.5 字符串常量13.6 总结13.7 警告的总结13.8 编程提示的总结13.9 问题13.10 编程练习第14章 预处理器14.1 预定义符号14.2 #define14.2.1 宏14.2.2 #define替换14.2.3 宏与函数14.2.4 带副作用的宏参数14.2.5 命名约定14.2.6 #undef14.2.7 命令行定义14.3 条件编译14.3.1 是否被定义14.3.2 嵌套指令14.4 文件包含14.4.1 函数库文件包含14.4.2 本地文件包含14.4.3 嵌套文件包含14.5 其他指令14.6 总结14.7 警告的总结14.8 编程提示的总结14.9 问题14.10 编程练习第15章 输入/输出函数15.1 错误报告15.2 终止执行15.3 标准I/O函数库15.4 ANSII/O概念15.4.1 流15.4.2 文件15.4.3 标准I/O常量15.5 流I/O总览15.6 打开流15.7 关闭流15.8 字符I/O15.8.1 字符I/O宏15.8.2 撤销字符I/O15.9 未格式化的行I/O15.10 格式化的行I/O15.10.1 scanf家族15.10.2 scanf格式代码15.10.3 printf家族15.10.4 printf格式代码15.11 二进制I/O15.12 刷新和定位函数15.13 改变缓冲方式15.14 流错误函数15.15 临时文件15.16 文件操纵函数15.17 总结15.18 警告的总结15.19 编程提示的总结15.20 问题15.21 编程练习第16章 标准函数库16.1 整型函数16.1.1 算术16.1.2 随机数16.1.3 字符串转换16.2 浮点型函数16.2.1 三角函数16.2.2 双曲函数16.2.3 对数和指数函数16.2.4 浮点表示形式16.2.5 幂16.2.6 底数、顶数、绝对值和余数16.2.7 字符串转换16.3 日期和时间函数16.3.1 处理器时间16.3.2 当天时间16.4 非本地跳转16.4.1 实例16.4.2 何时使用非本地跳转16.5 信号16.5.1 信号名16.5.2 处理信号16.5.3 信号处理函数16.6 打印可变参数列表16.7 执行环境16.7.1 终止执行16.7.2 断言16.7.3 环境16.7.4 执行系统命令16.7.5 排序和查找16.8 locale16.8.1 数值和货币格式16.8.2 字符串和locale16.8.3 改变locale的效果16.9 总结16.10 警告的总结16.11 编程提示的总结16.12 问题16.13 编程练习第17章 经典抽象数据类型17.1 内存分配17.2 堆栈17.2.1 堆栈接口17.2.2 实现堆栈17.3 队列17.3.1 队列接口17.3.2 实现队列17.4 树17.4.1 在二叉搜索树中插入17.4.2 从二叉搜索树删除节点17.4.3 在二叉搜索树中查找17.4.4 树的遍历17.4.5 二叉搜索树接口17.4.6 实现二叉搜索树17.5 实现的改进17.5.1 拥有超过一个的堆栈17.5.2 拥有超过一种的类型17.5.3 名字冲突17.5.4 标准函数库的ADT17.6 总结17.7 警告的总结17.8 编程提示的总结17.9 问题17.10 编程练习第18章 运行时环境18.1 判断运行时环境18.1.1 测试程序18.1.2 静态变量和初始化18.1.3 堆栈帧18.1.4 寄存器变量18.1.5 外部标识符的长度18.1.6 判断堆栈帧布局18.1.7 表达式的副作用18.2 C和汇编语言的接口18.3 运行时效率18.4 总结18.5 警告的总结18.6 编程提示的总结18.7 问题18.8 编程练习附录 部分问题答案索引 
  • 内容简介:
      《C和指针POINTERSONC》提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。  全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。  本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习c语言的参考。
  • 作者简介:
    Kenneth·Reek是罗彻斯特理工大学计算机科学教授。他是一位经验丰富的C程序员,曾为多家公司担任过技术顾问。他讲授的课程有操作系统、数据通信、计算机网络、形式语言、算法分析和交换系统等。本书正是基于他9年的编程及教学的经验积累。
  • 目录:
    第1章 快速上手1.1 简介1.1.1 空白和注释1.1.2 预处理指令1.1.3 main函数1.1.4 read_column_numbers函数1.1.5 rearrange函数1.2 补充说明1.3 编译1.4 总结1.5 警告的总结1.6 编程提示的总结1.7 问题1.8 编程练习第2章 基本概念2.1 环境2.1.1 翻译2.1.2 执行2.2 词法规则2.2.1 字符2.2.2 注释2.2.3 自由形式的源代码2.2.4 标识符2.2.5 程序的形式2.3 程序风格2.4 总结2.5 警告的总结2.6 编程提示的总结2.7 问题2.8 编程练习第3章 数据3.1 基本数据类型3.1.1 整型家族3.1.2 浮点类型3.1.3 指针3.2 基本声明3.2.1 初始化3.2.2 声明简单数组3.2.3 声明指针3.2.4 隐式声明3.3 typedef3.4 常量3.5 作用域3.5.1 代码块作用域3.5.2 文件作用域3.5.3 原型作用域3.5.4 函数作用域3.6 链接属性3.7 存储类型3.8 static关键字3.9 作用域、存储类型示例3.10 总结3.11 警告的总结3.12 编程提示的总结3.13 问题第4章 语句4.1 空语句4.2 表达式语句4.3 代码块4.4 if语句4.5 while语句4.5.1 break和continue语句4.5.2 while语句的执行过程4.6 for语句4.7 do语句4.8 switch语句4.8.1 switch中的break语句4.8.2 default子句4.8.3 switch语句的执行过程4.9 goto语句4.10 总结4.11 警告的总结4.12 编程提示的总结4.13 问题4.14 编程练习第5章 操作符和表达式5.1 操作符5.1.1 算术操作符5.1.2 移位操作符5.1.3 位操作符5.1.4 赋值5.1.5 单目操作符5.1.6 关系操作符5.1.7 逻辑操作符5.1.8 条件操作符5.1.9 逗号操作符5.1.10 下标引用、函数调用和结构成员5.2 布尔值5.3 左值和右值5.4 表达式求值5.4.1 隐式类型转换5.4.2 算术转换5.4.3 操作符的属性5.4.4 优先级和求值的顺序5.5 总结5.6 警告的总结5.7 编程提示的总结5.8 问题5.9 编程练习第6章 指针6.1 内存和地址6.2 值和类型6.3 指针变量的内容6.4 间接访问操作符6.5 未初始化和非法的指针6.6 NULL指针6.7 指针、间接访问和左值6.8 指针、间接访问和变量6.9 指针常量6.10 指针的指针6.11 指针表达式6.12 实例6.13 指针运算6.13.1 算术运算6.13.2 关系运算6.14 总结6.15 警告的总结6.16 编程提示的总结6.17 问题6.18 编程练习第7章 函数7.1 函数定义7.2 函数声明7.2.1 原型7.2.2 函数的缺省认定7.3 函数的参数7.4 ADT和黑盒7.5 递归7.5.1 追踪递归函数7.5.2 递归与迭代7.6 可变参数列表7.6.1 stdarg宏7.6.2 可变参数的限制7.7 总结7.8 警告的总结7.9 编程提示的总结7.10 问题7.11 编程练习第8章 数组8.1 一维数组8.1.1 数组名8.1.2 下标引用8.1.3 指针与下标8.1.4 指针的效率8.1.5 数组和指针8.1.6 作为函数参数的数组名8.1.7 声明数组参数8.1.8 初始化8.1.9 不完整的初始化8.1.10 自动计算数组长度8.1.11 字符数组的初始化8.2 多维数组8.2.1 存储顺序8.2.2 数组名8.2.3 下标8.2.4 指向数组的指针8.2.5 作为函数参数的多维数组8.2.6 初始化8.2.7 数组长度自动计算8.3 指针数组8.4 总结8.5 警告的总结8.6 编程提示的总结8.7 问题8.8 编程练习第9章 字符串、字符和字节9.1 字符串基础9.2 字符串长度9.3 不受限制的字符串函数9.3.1 复制字符串9.3.2 连接字符串9.3.3 函数的返回值9.3.4 字符串比较9.4 长度受限的字符串函数9.5 字符串查找基础9.5.1 查找一个字符9.5.2 查找任何几个字符9.5.3 查找一个子串9.6 高级字符串查找9.6.1 查找一个字符串前缀9.6.2 查找标记9.7 错误信息9.8 字符操作9.8.1 字符分类9.8.2 字符转换9.9 内存操作9.10 总结9.11 警告的总结9.12 编程提示的总结9.13 问题9.14 编程练习第10章 结构和联合10.1 结构基础知识10.1.1 结构声明10.1.2 结构成员10.1.3 结构成员的直接访问10.1.4 结构成员的间接访问10.1.5 结构的自引用10.1.6 不完整的声明10.1.7 结构的初始化10.2 结构、指针和成员10.2.1 访问指针10.2.2 访问结构10.2.3 访问结构成员10.2.4 访问嵌套的结构10.2.5 访问指针成员10.3 结构的存储分配10.4 作为函数参数的结构10.5 位段10.6 联合10.6.1 变体记录10.6.2 联合的初始化10.7 总结10.8 警告的总结10.9 编程提示的总结10.10 问题10.11 编程练习第11章 动态内存分配11.1 为什么使用动态内存分配11.2 malloc和free11.3 calloc和realloc11.4 使用动态分配的内存11.5 常见的动态内存错误11.6 内存分配实例11.7 总结11.8 警告的总结11.9 编程提示的总结11.10 问题11.11 编程练习第12章 使用结构和指针12.1 链表12.2 单链表12.2.1 在单链表中插入12.2.2 其他链表操作12.3 双链表12.3.1 在双链表中插入12.3.2 其他链表操作12.4 总结12.5 警告的总结12.6 编程提示的总结12.7 问题12.8 编程练习第13章 高级指针话题13.1 进一步探讨指向指针的指针13.2 高级声明13.3 函数指针13.3.1 回调函数13.3.2 转移表13.4 命令行参数13.4.1 传递命令行参数13.4.2 处理命令行参数13.5 字符串常量13.6 总结13.7 警告的总结13.8 编程提示的总结13.9 问题13.10 编程练习第14章 预处理器14.1 预定义符号14.2 #define14.2.1 宏14.2.2 #define替换14.2.3 宏与函数14.2.4 带副作用的宏参数14.2.5 命名约定14.2.6 #undef14.2.7 命令行定义14.3 条件编译14.3.1 是否被定义14.3.2 嵌套指令14.4 文件包含14.4.1 函数库文件包含14.4.2 本地文件包含14.4.3 嵌套文件包含14.5 其他指令14.6 总结14.7 警告的总结14.8 编程提示的总结14.9 问题14.10 编程练习第15章 输入/输出函数15.1 错误报告15.2 终止执行15.3 标准I/O函数库15.4 ANSII/O概念15.4.1 流15.4.2 文件15.4.3 标准I/O常量15.5 流I/O总览15.6 打开流15.7 关闭流15.8 字符I/O15.8.1 字符I/O宏15.8.2 撤销字符I/O15.9 未格式化的行I/O15.10 格式化的行I/O15.10.1 scanf家族15.10.2 scanf格式代码15.10.3 printf家族15.10.4 printf格式代码15.11 二进制I/O15.12 刷新和定位函数15.13 改变缓冲方式15.14 流错误函数15.15 临时文件15.16 文件操纵函数15.17 总结15.18 警告的总结15.19 编程提示的总结15.20 问题15.21 编程练习第16章 标准函数库16.1 整型函数16.1.1 算术16.1.2 随机数16.1.3 字符串转换16.2 浮点型函数16.2.1 三角函数16.2.2 双曲函数16.2.3 对数和指数函数16.2.4 浮点表示形式16.2.5 幂16.2.6 底数、顶数、绝对值和余数16.2.7 字符串转换16.3 日期和时间函数16.3.1 处理器时间16.3.2 当天时间16.4 非本地跳转16.4.1 实例16.4.2 何时使用非本地跳转16.5 信号16.5.1 信号名16.5.2 处理信号16.5.3 信号处理函数16.6 打印可变参数列表16.7 执行环境16.7.1 终止执行16.7.2 断言16.7.3 环境16.7.4 执行系统命令16.7.5 排序和查找16.8 locale16.8.1 数值和货币格式16.8.2 字符串和locale16.8.3 改变locale的效果16.9 总结16.10 警告的总结16.11 编程提示的总结16.12 问题16.13 编程练习第17章 经典抽象数据类型17.1 内存分配17.2 堆栈17.2.1 堆栈接口17.2.2 实现堆栈17.3 队列17.3.1 队列接口17.3.2 实现队列17.4 树17.4.1 在二叉搜索树中插入17.4.2 从二叉搜索树删除节点17.4.3 在二叉搜索树中查找17.4.4 树的遍历17.4.5 二叉搜索树接口17.4.6 实现二叉搜索树17.5 实现的改进17.5.1 拥有超过一个的堆栈17.5.2 拥有超过一种的类型17.5.3 名字冲突17.5.4 标准函数库的ADT17.6 总结17.7 警告的总结17.8 编程提示的总结17.9 问题17.10 编程练习第18章 运行时环境18.1 判断运行时环境18.1.1 测试程序18.1.2 静态变量和初始化18.1.3 堆栈帧18.1.4 寄存器变量18.1.5 外部标识符的长度18.1.6 判断堆栈帧布局18.1.7 表达式的副作用18.2 C和汇编语言的接口18.3 运行时效率18.4 总结18.5 警告的总结18.6 编程提示的总结18.7 问题18.8 编程练习附录 部分问题答案索引 
查看详情
12
好书推荐 / 更多
C和指针
星空帝国 中国古代星宿揭秘
徐刚、王燕平 著
C和指针
南十字星共和国:俄国象征派小说选
[俄]费·索洛古勃;[俄]瓦·勃留索夫;[俄]安德列·别雷
C和指针
逃之夭夭
[德]马丁·瓦尔泽 著;黄燎宇 译
C和指针
巴黎评论·诗人访谈
美国《巴黎评论》编辑部、美国《巴黎评论》编辑部 编;明迪 译
C和指针
鼠小兵:黑斧
[美]大卫·彼得森 著;方堃 译
C和指针
成为我自己:欧文·亚隆回忆录
[美]欧文·D.亚隆(Irvin D. Yalom) 著
C和指针
九色鹿·从“异域”到“旧疆”:宋至清贵州西北部地区的制度、开发与认同
温春来 著
C和指针
米格尔在智利的地下行动
[哥伦比亚]加西亚.马尔克斯 著
C和指针
谈话录
王安忆;张新颖
C和指针
漫画电影史(图像小说版《认识电影》,迷影人士必读漫画)
[英]爱德华·罗斯 著
C和指针
所有的名字
[葡萄牙]若泽·萨拉马戈 著;王渊 译
C和指针
皮肤的秘密:关于皮肤的17堂课!解读关于人体最大器官的一切!
刘立 译;[德]卡提雅•史匹哲(Katja Spitzer) 绘;[德]耶尔•阿德勒(Yael Adler)