• 交易规则(重要)

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍
本站优惠价
68.00
6.9折 原价:¥99.00
  • 销量
  • 卖家
  • 7+
  • 人民邮电出版社官方旗舰店

服务由"人民邮电出版社官方旗舰店"发货,并提供售后服务。

    担保交易,安全保证,有问题不解决可申请退款。购买前请询问清楚卖家,以卖家承诺为准! 自动发货商品,随时可以购买,付款后在订单详情下载,零等待。 不同会员等级尊享不同购买折扣。
天猫优惠券

天猫优惠券

已缴纳保证金

该商家已加入保障计划

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍

【官方旗舰店】征服C指针 第2二版 C语言入门零基础c primer plus数据结构c和指针编程开发计算机网络教材程序设计开发教程书籍
目录
第0章
本书目标与读者对象 1
0-1 本书目标 2
0-2 读者对象与内容结构 5

第 1章
打好基础——预备知识和复习 9
1-1 C语言是什么样的语言 10
1-1-1 C语言的发展历程 10
 是汇编语言还是汇编器 11
 B语言是什么样的语言 12
1-1-2 不完备和不统一的语法 13
1-1-3 C语言“圣经”——K&R 13
1-1-4 ANSI C之前的C语言 14
1-1-5 ANSI C(C89/90) 16
1-1-6 C95 16
1-1-7 C99 17
1-1-8 C11 18
1-1-9 C语言的理念 19
1-1-10 C语言的主体 20
1-1-11 C语言曾是只能使用标量的语言 21
1-2 内存和地址 23
1-2-1 内存和地址 23
1-2-2 内存和变量 25
 size_t类型 27
1-2-3 内存和程序运行 27
1-3 关于指针 29
1-3-1 恶名昭著的指针究@是什么 29
1-3-2 和指针的第 一次亲密接触 30
1-3-3 地址运算符、间接运算符、下标运算符 34
 关于本书中的地址值——16进制表示法 35
 混乱的声明——如何自然地理解声明 35
 杂谈:hoge是什么 37
1-3-4 指针和地址之间的微妙关系 38
 在运行时既没有类型信息,也没有变量名 40
1-3-5 指针运算 41
1-3-6 何谓空指针 42
 NULL和0和'' 43
1-3-7 实践——从函数返回多个值 46
 形参与实参 50
1-4 关于数组 51
1-4-1 使用数组 51
 C语言的数组是从0开始的 53
1-4-2 数组与指针的微妙关系 54
1-4-3 下标运算符[]与数组毫无关系 56
 语法糖 59
1-4-4 为何存在指针运算这种奇怪功能 59
1-4-5 别再滥用指针运算了 61
 更改参数的做法可取吗 62
1-4-6 试图将数组作为函数参数传递 63
 如果对数组进行值传递 65
1-4-7 声明函数形参的方法 66
 C语言为什么不进行数组边界检查 67
1-4-8 C99中的可变长数组 68

第 2章
做个实验——C语言是怎样使用内存的 71
2-1 虚拟地址 72
 关于scanf() 75
 未定义、未指定、实现定义 77
2-2 C语言中内存的使用方法 78
2-2-1 C语言中变量的种类 78
2-2-2 尝试输出地址 80
 存储类说明符 80
2-3 函数与字符串字面量 85
2-3-1 只读内存区域 85
2-3-2 指向函数的指针 86
2-4 静态变量 88
2-4-1 什么是静态变量 88
2-4-2 分割编译与链接 88
2-5 自动变量(栈) 91
2-5-1 内存空间的“重复使用” 91
2-5-2 函数调用究@发生了什么 91
 调用约定 95
2-5-3 自动变量的引用 95
 一旦函数执行结束,自动变量的内存空间就会被释放 98
2-5-4 典型的安全漏洞——缓冲区溢出漏洞 99
 操作系统针对缓冲区溢出漏洞给出的对策 102
2-5-5 可变长参数 103
 assert() 106
 试写一个用于调试的函数 107
2-5-6 递归调用 110
2-5-7 C99中的可变长数组(VLA)的栈 113
2-6 利用malloc()动态分配内存(堆) 116
2-6-1 malloc()的基础知识 116
 应该强制转换malloc()的返回值类型吗 119
2-6-2 malloc()是系统调用吗 119
2-6-3 malloc()中发生了什么 120
2-6-4 free()之后相应的内存空间会怎样 122
 Valgrind 124
2-6-5 碎片化 124
2-6-6 malloc()以外的动态内存分配函数 125
 假如malloc()参数为0 127
 malloc()的返回值检查 128
 程序结束时也必须调用free()吗 129
2-7 对齐 131
 结构体的成员名称在运行时也是缺失的 134
2-8 字节序 135
2-9 关于语言规范和实现——抱歉,前面的内容都是骗你的 137

第3章
语法揭秘——它到底是怎么回事 139
3-1 解读C语言声明 140
3-1-1 用英语阅读 140
3-1-2 解读C语言声明 141
 近来的语言多数是将类型后置的 144
3-1-3 类型名 145
 如果把间接运算符*后置 146
3-2 C语言数据类型的模型 147
3-2-1 基本类型和派生类型 147
3-2-2 指针类型的派生 148
3-2-3 数组类型的派生 150
3-2-4 什么是指向数组的指针 150
3-2-5 C语言中不存在多维数组 152
3-2-6 函数类型的派生 154
3-2-7 计算类型的长度 155
3-2-8 基本类型 157
3-2-9 结构体和联合体 159
3-2-10 不完全类型 159
3-3 表达式 162
3-3-1 表达式和数据类型 162
 对“表达式”使用sizeof 164
3-3-2 什么是左值——变量的两张面孔 166
 “左值”的由来 167
3-3-3 数组→指针的转换 168
3-3-4 与数组和指针相关的运算符 169
3-3-5 多维数组 171
 运算符的优先级 173
3-4 解读C语言声明(续) 176
3-4-1 const修饰符 176
3-4-2 如何使用const?可以用到哪种程度 178
 const可以代替#define吗 181
3-4-3 typedef 181
3-5 其他 185
3-5-1 函数形参的声明(ANSI C版) 185
 K&R中关于函数形参声明的说明 186
3-5-2 函数形参的声明(C99版) 188
3-5-3 关于空的下标运算符[] 189
 定义与声明 191
3-5-4 字符串字面量 192
 字符串字面量是char的数组 194
3-5-5 关于指向函数的指针引发的混乱 195
3-5-6 强制类型转换 196
3-5-7 练习——解读复杂声明 198
3-6 请记住:数组与指针截然不同 203
3-6-1 你为什么感到混乱 203
3-6-2 在表达式中 204
3-6-3 在声明中 206

第4章
数组和指针的常见用法 209
4-1 基本用法 210
4-1-1 通过返回值以外的方法返回 210
4-1-2 将数组作为函数的参数传递 211
4-1-3 动态数组——通过malloc()分配的可变长数组 212
 其他语言的数组 214
4-2 组合使用 216
4-2-1 动态数组的数组 216
 宽字符 223
4-2-2 动态数组的动态数组 225
4-2-3 命令行参数 228
4-2-4 通过参数返回指针 230
 什么是“双指针” 235
4-2-5 将多维数组作为函数的参数传递 236
4-2-6 将多维数组作为函数的参数传递(VLA版) 237
4-2-7 通过malloc()分配纵横可变的二维数组(C99) 239
 C语言中的多维数组是行优先的 240
 纵横可变的二维数组的ANSI C实现 241
 Java和C#的多维数组 242
4-2-8 数组的动态数组 243
4-2-9 在考虑可变之前,不妨考虑使用结构体 244
4-2-10 可变长结构体(ANSI C版) 246
 关于分配可变长结构体时的长度指定 248
4-2-11 柔性数组成员(C99) 248
 指针可以指向数组的*后一个元素的下一个元素 249

第5章
数据结构——指针的真正用法 251
5-1 案例学习1:计算单词的使用频率 252
5-1-1 案例的需求 252
 各种语言中指针的叫法 253
 引用传递 253
5-1-2 设计 256
 关于头文件的写法 259
5-1-3 数组版 261
5-1-4 链表版 265
 头文件的公有和私有 271
 当需要同时处理多个数据时 272
 迭代器 273
5-1-5 添加查找功能 275
 翻倍游戏 277
5-1-6 其他数据结构 277
5-2 案例学习2:绘图工具的数据结构 283
5-2-1 案例的需求 283
5-2-2 表示各种图形 284
 关于坐标系 285
5-2-3 Shape类型 286
5-2-4 讨论——还有其他方法吗 289
 能保存任何类型的链表 293
5-2-5 图形的组合 294
5-2-6 通过指向函数的指针的数组分配处理 300
5-2-7 通往继承与多态之路 302
 将draw()放入Shape中真的好吗 302
5-2-8 指针的可怕之处 304
5-2-9 那么,指针到底是什么呢 305

第6章
其他——拾遗 307
6-1 新的函数组 308
6-1-1 添加了范围检查的函数(C11) 308
 restrict关键字 310
6-1-2 无须使用静态存储空间的函数(C11) 311
6-2 陷阱 314
6-2-1 整数提升 314
6-2-2 如果在(老式的)C语言中使用float类型的参数 316
6-2-3 printf()与scanf() 318
6-2-4 原型声明的光与影 319
6-3 惯用写法 321
6-3-1 结构体声明 321
6-3-2 自引用结构体 322
6-3-3 结构体的相互引用 323
6-3-4 结构体的嵌套 324
6-3-5 联合体 325
6-3-6 无名结构体和无名联合体(C11) 326
6-3-7 数组的初始化 327
6-3-8 指向char的指针的数组的初始化 328
6-3-9 结构体的初始化 329
6-3-10 联合体的初始化 330
6-3-11 指定初始化(C99) 331
6-3-12 复合字面量(C99) 332

参考文献 334

作者介绍
前桥和弥(作者) 1969年出生,著有《自制编程语言》《彻底掌握C语言》《Java之谜和陷阱》等,其一针见血的“毒舌”文风和对编程语言深刻的见地受到广大读者的欢迎。 朱文佳(译者) 2005年毕业于上海大学计算机科学与技术学院,在对日通信行业从事开发及管理十余年,具有丰富的嵌入式C语言开发及项目管理经验。爱好阅读,自学日语,愿尽自己绵薄之力为大家分享*秀的外国图书。
关联推荐
日本“毒舌”程序员透彻讲解指针、数组和声明,助你轻松进阶;畅销书全面升级;配套代码资源可下载

  • 商品评价
  • 匿名
  • 包装情况:简单,气泡袋包装,塑封纸有点破损,书没啥问题。 客服服务态度很不错,书也还行
  • 2023-06-21
好评
  • 匿名
  • 一次买了几本,要细细研读。他国人的书,有独特的风格。
  • 2023-06-21
好评
  • 匿名
  • 真的,,,,,非常,,,,次,怎么好意思写的
  • 2023-06-21
好评
  • 匿名
  • 默认好评,没有填写评论内容!
  • 2023-06-21
好评
  • 匿名
  • 0天后追评内容可可,需要一定的基础。
  • 2023-06-21
好评
  • 匿名
  • 很不错的一本资料书,印刷清晰,有塑料膜包裹是全新正版图书,希望对学习能够有所帮助。
  • 2023-06-21
好评
  • 匿名
  • 书很好,不错
  • 2023-06-21
好评
  • 匿名
  • 很好,已经看一半了,加油
  • 2023-06-21
好评
  • 匿名
  • 中间遇到小插曲,但是店家处理得还是挺不错的。书的纸张挺好,字迹很清楚,是正版,内容还没有仔细看,看后再追评
  • 2023-06-21
好评
  • 匿名
  • 此商品物有所值。
  • 2023-06-21
好评
  • 匿名
  • good
  • 2023-06-21
好评
  • 匿名
  • 可以可以,很不错
  • 2023-06-21
好评
  • 交易规则


  • 发货方式


  • 自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。

    手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的QQ或电话主动联系卖家。


  • 退款说明


  • 1、源码类:商品详情(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、功能不能正常使用等)!有演示站时,与实际源码不一致的(但描述中有"不保证完全一样、可能有少许偏差"类似显著公告的除外);

  • 2、营销推广:未达到卖家描述标准的;

    3、点卡软件所售点卡软件无法使用的;

  • 3、发货:手动发货商品,在卖家未发货前就申请了退款的;

    4、服务:卖家不提供承诺的售后服务的;(双方提前有商定和描述中有显著声明的除外)

    5、其他:如商品或服务有质量方面的硬性常规问题的。未符合详情及卖家承诺的。

  • 注:符合上述任一情况的,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法修改描述!


  • 注意事项


  • 1、在付款前,双方在QQ上所商定的内容,也是纠纷评判依据(商定与商品描述冲突时,以商定为准);

    2、源码商品,同时有网站演示与商品详情图片演示,且网站演示与商品详情图片演示不一致的,默认按商品详情图片演示作为纠纷评判依据(卖家有特别声明或有额外商定的除外);

  • 3、点卡软件商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);

  • 4、营销推广商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);

    5、在有"正当退款原因和依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;

    6、虽然交易产生纠纷的几率很小,卖家也肯定会给买家最完善的服务!但请买卖双方尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于送码网快速介入处理。


  • 送码声明


  • 1、送码网作为第三方中介平台,依据双方交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;

  • 2、非平台线上交易的项目,出现任何后果均与送码网无关;无论卖家以何理由要求线下交易的(如:要求买家支付宝转账付款的,微信转账付款的等),请联系管理举报,本平台将清退卖家处理。