作者:
[美] 肯尼斯·里科
出版社: 人民邮电出版社
出品方: 异步图书
原作名: Pointers on C
译者: 徐波
出版年: 2020-9
页数: 441
定价: 99.00元
装帧: 平装
丛书: C和C++经典著作
ISBN: 9787115522689
出版社: 人民邮电出版社
出品方: 异步图书
原作名: Pointers on C
译者: 徐波
出版年: 2020-9
页数: 441
定价: 99.00元
装帧: 平装
丛书: C和C++经典著作
ISBN: 9787115522689
内容简介 · · · · · ·
本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
本书适合C语言初学者和初级C程序员阅读,也可作为计算机专业学生学习C语言的参考。
作者简介 · · · · · ·
肯尼斯·里科(Kenneth ReeK)是美国 Rochester 工业学院计算机系教授,有几十年年的 C 编程教学经验。
目录 · · · · · ·
前言
第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 typedef
3.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和free
11.3 calloc和realloc
11.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 #define
14.2.1 宏
14.2.2 #define替换
14.2.3 宏与函数
14.2.4 带副作用的宏参数
14.2.5 命名约定
14.2.6 #undef
14.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 ANSI I/O概念
15.4.1 流
15.4.2 文件
15.4.3 标准I/O常量
15.5 流I/O总览
15.6 打开流
15.7 关闭流
15.8 字符I/O
15.8.1 字符I/O宏
15.8.2 撤销字符I/O
15.9 未格式化的行I/O
15.10 格式化的行I/O
15.10.1 scanf家族
15.10.2 scanf格式代码
15.10.3 printf家族
15.10.4 printf格式代码
15.11 二进制I/O
15.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 算术 <stdlib.h>
16.1.2 随机数<stdlib.h>
16.1.3 字符串转换 <stdlib.h>
16.2 浮点型函数
16.2.1 三角函数 <math.h>
16.2.2 双曲函数 <math.h>
16.2.3 对数和指数函数 <math.h>
16.2.4 浮点表示形式 <math.h>
16.2.5 幂 <math.h>
16.2.6 底数、顶数、绝对值和余数 <math.h>
16.2.7 字符串转换 <stdlib.h>
16.3 日期和时间函数
16.3.1 处理器时间 <time.h>
16.3.2 当天时间 <time.h>
16.3.3 日期和时间的转换 <time.h>
16.4 非本地跳转 <setjmp.h>
16.4.1 实例
16.4.2 何时使用非本地跳转
16.5 信号
16.5.1 信号名 <signal.h>
16.5.2 处理信号 <signal.h>
16.5.3 信号处理函数
16.6 打印可变参数列表 <stdarg.h>
16.7 执行环境
16.7.1 终止执行 <stdlib.h>
16.7.2 断言<assert.h>
16.7.3 环境 <stdlib.h>
16.7.4 执行系统命令 <stdlib.h>
16.7.5 排序和查找<stdlib.h>
16.8 locale
16.8.1 数值和货币格式 <locale.h>
16.8.2 字符串和locale <string.h>
16.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 标准函数库的ADT
17.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 编程练习
附录 部分问题和编程练习的答案
· · · · · · (收起)
第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 typedef
3.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和free
11.3 calloc和realloc
11.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 #define
14.2.1 宏
14.2.2 #define替换
14.2.3 宏与函数
14.2.4 带副作用的宏参数
14.2.5 命名约定
14.2.6 #undef
14.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 ANSI I/O概念
15.4.1 流
15.4.2 文件
15.4.3 标准I/O常量
15.5 流I/O总览
15.6 打开流
15.7 关闭流
15.8 字符I/O
15.8.1 字符I/O宏
15.8.2 撤销字符I/O
15.9 未格式化的行I/O
15.10 格式化的行I/O
15.10.1 scanf家族
15.10.2 scanf格式代码
15.10.3 printf家族
15.10.4 printf格式代码
15.11 二进制I/O
15.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 算术 <stdlib.h>
16.1.2 随机数<stdlib.h>
16.1.3 字符串转换 <stdlib.h>
16.2 浮点型函数
16.2.1 三角函数 <math.h>
16.2.2 双曲函数 <math.h>
16.2.3 对数和指数函数 <math.h>
16.2.4 浮点表示形式 <math.h>
16.2.5 幂 <math.h>
16.2.6 底数、顶数、绝对值和余数 <math.h>
16.2.7 字符串转换 <stdlib.h>
16.3 日期和时间函数
16.3.1 处理器时间 <time.h>
16.3.2 当天时间 <time.h>
16.3.3 日期和时间的转换 <time.h>
16.4 非本地跳转 <setjmp.h>
16.4.1 实例
16.4.2 何时使用非本地跳转
16.5 信号
16.5.1 信号名 <signal.h>
16.5.2 处理信号 <signal.h>
16.5.3 信号处理函数
16.6 打印可变参数列表 <stdarg.h>
16.7 执行环境
16.7.1 终止执行 <stdlib.h>
16.7.2 断言<assert.h>
16.7.3 环境 <stdlib.h>
16.7.4 执行系统命令 <stdlib.h>
16.7.5 排序和查找<stdlib.h>
16.8 locale
16.8.1 数值和货币格式 <locale.h>
16.8.2 字符串和locale <string.h>
16.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 标准函数库的ADT
17.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和C++经典著作(共10册),
这套丛书还有
《C陷阱与缺陷》《C专家编程》《C和C++经典著作:C和指针+C专家编程+C陷阱与缺陷(京东套装共3册)》《C陷阱与缺陷》《C++Templates中文版》
等
。
喜欢读"C和指针"的人也喜欢 · · · · · ·
C和指针的书评 · · · · · · ( 全部 38 条 )

比较基础,但是能够深入学习C指针
这是一本C语言学习的相当不错的书籍。尤其是对于刚刚入门的学习者。它涵盖了C语言的全部内容,特别注重指针的讲解,除了头尾的几章,指针的话题几乎是贯穿了全书。正是指针使得C语言如此之强大,所以要学习C语言的精髓,就是要精通指针!不应当像java或者pascal那样禁用或者限...
(展开)

很好的一本讲 C 语言的书
我挑感兴趣的章节看,差不多看了一本书的一大半。书讲的很好。书的重头还是讲 C 语言的指针,对于指针这块,作者真的是不厌其烦的讲,各种奇葩的指针用法都写出来了,然后分析,不过,这样确实让我更加深入了解了指针。看完后,我对指针和数组有了更加深刻的认识,弄清楚了多维...
(展开)

读 Kenneth A. Reek 之《C 和指针》
Kenneth A. Reek, 徐波, 付飞. C 和指针. ISBN: 978-7-115-17201-3. 这本书的原名是 Pointers on C。虽然书名中强调指针,但这本书不仅仅讲指针,它其实是一本很完备的 C 语言教程。与 C Primer Plus 不同的是这本书并不面向纯新手,在阅读它之前应当有一些编程方面的基础知识...
(展开)

要成为程序员吗?看看这本书吧
背景:BUAA计科在读 大一的时候就买了这本书,当时觉得好难,看着很生疏 如今大三的课程,要自己动手写一个C编译器,回头从语言开始啃书 现在看大一的自己就是个傻**,这么好的书,早一点看的话,到现在自己的C水平肯定不止这样 学习C语言的话,一本【C程序设计语言】和这本【C...
(展开)

每一个程序要都要读的书
表述很清晰,不难理解。但知识点很重要。 作为程序员,启蒙书不重要,但读完启蒙书后,强烈建议将这本书作为你第二本必读书。 事实上C语言三部曲每一部都是经典,每一部都是必须要读的。但个人认为这部书是三本中最好的一部。 如果你想成为一个严肃的程序员,就从这本书开始...
(展开)
> 更多书评 38篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部5 )
-
人民邮电出版社 (2008)9.1分 1987人读过
-
Addison Wesley (1997)9.1分 81人读过
-
人民邮电出版社 (2003)9.1分 413人读过
-
人民邮电出版社 (2013)暂无评分 6人读过
以下书单推荐 · · · · · · ( 全部 )
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于C和指针的评论:
feed: rss 2.0
0 有用 心想事🍊 2023-08-05 21:12:34 辽宁
有帮助
0 有用 香樟文学 2022-11-17 10:23:23 河南
内容丰富详实,作者笔风生动有趣,不能再好啦。
0 有用 酆骨 2022-11-19 18:40:21 北京
作者厉害的地方在于他对许多C语言非常难以解释的概念和理论能够用通俗易懂的话讲解出来。
2 有用 Marvin不慌 2022-07-25 15:16:21
C语言经典著作之一,讲解的非常专业,凸显指针对C的重要性,提供宝贵的提示和智慧的警告,无论是初学者或者资深的人员,都可以轻松阅读。
0 有用 伊森亨特 2023-12-05 14:17:01 山东
2020年出的C和指针和前面的有什么区别吗