`

征服C指针

阅读更多

《征服C指针》
基本信息
作者: (日)前桥和弥 [作译者介绍]
译者: 吴雅明
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115301215
上架时间:2013-2-7
出版日期:2013 年2月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 软件与程序设计 > C/Turbo C > C

更多关于 》》》《征服C指针

内容简介
计算机书籍
  《征服c指针》被称为日本最有营养的c 参考书。作者是日本著名的“毒舌程序员”,其言辞犀利,观点鲜明,往往能让读者迅速领悟要领。
   《征服c指针》中结合了作者多年的编程经验和感悟,从c 语言指针的概念讲起,通过实验一步一步地为我们解释了指针和数组、内存、数据结构的关系,展现了指针的常见用法,揭示了各种使用技巧。另外,还通过独特的方式教会我们怎样解读c 语言那些让人“纠结”的声明语法,如何绕过c 指针的陷阱。
   《征服c指针》适合c 语言中级学习者阅读,也可作为计算机专业学生学习c 语言的参考。

目录
《征服c指针》
第0章  本书的目标与结构——引言  1
0.1  本书的目标  1
0.2  目标读者和内容结构  3
第1章  从基础开始——预备知识和复习  7
1.1  c是什么样的语言  7
1.1.1  比喻  7
1.1.2  c的发展历程  8
1.1.3  不完备和不统一的语法  9
1.1.4  ansi c  10
1.1.5  c的宝典——k&r  11
1.1.6  c的理念  12
1.1.7  c的主体  14
1.1.8  c是只能使用标量的语言  15
1.2  关于指针  16
1.2.1  恶名昭著的指针究竟是什么  16
1.2.2  和指针的第一次亲密接触  17
1.2.3  指针和地址之间的微妙关系  23
1.2.4  指针运算  26
1.2.5  什么是空指针  27
.1.2.6  实践——swap函数  31
1.3  关于数组  34
1.3.1  运用数组  34
1.3.2  数组和指针的微妙关系  37
1.3.3  下标运算符[]和数组是没有关系的  39
1.3.4  为什么存在奇怪的指针运算  42
1.3.5  不要滥用指针运算  43
1.3.6  试图将数组作为函数的参数进行传递  45
1.3.7  声明函数形参的方法  48
第2章  做个实验见分晓——c是怎么使用内存的  51
2.1  虚拟地址  51
2.2  c的内存的使用方法  56
2.2.1  c的变量的种类  56
2.2.2  输出地址  58
2.3  函数和字符串常量  61
2.3.1  只读内存区域  61
2.3.2  指向函数的指针  62
2.4  静态变量  64
2.4.1  什么是静态变量  64
2.4.2  分割编译和连接  64
2.5  自动变量(栈)  66
2.5.1  内存区域的“重复使用”  66
2.5.2  函数调用究竟发生了什么  66
2.5.3  可变长参数  73
2.5.4  递归调用  80
2.6  利用malloc()来进行动态内存分配(堆)  84
2.6.1  malloc()的基础  84
2.6.2  malloc()是“系统调用”吗  88
2.6.3  malloc()中发生了什么  89
2.6.4  free()之后,对应的内存区域会怎样  91
2.6.5  碎片化  93
2.6.6  malloc()以外的动态内存分配函数  94
2.7  内存布局对齐  98
2.8  字节排序  101
2.9  关于开发语言的标准和实现——对不起,前面的内容都是忽悠的  102
第3章  揭秘c的语法——它到底是怎么回事  105
3.1  解读c的声明  105
3.1.1  用英语来阅读  105
3.1.2  解读c的声明  106
3.1.3  类型名  109
3.2  c的数据类型的模型  111
3.2.1  基本类型和派生类型  111
3.2.2  指针类型派生  112
3.2.3  数组类型派生  113
3.2.4  什么是指向数组的指针  114
3.2.5  c语言中不存在多维数组!  116
3.2.6  函数类型派生  117
3.2.7  计算类型的大小  119
3.2.8  基本类型  121
3.2.9  结构体和共用体  122
3.2.10  不完全类型  123
3.3  表达式  125
3.3.1  表达式和数据类型  125
3.3.2  “左值”是什么——变量的两张面孔  129
3.3.3  将数组解读成指针  130
3.3.4  数组和指针相关的运算符  132
3.3.5  多维数组  133
3.4  解读c的声明(续)  137
3.4.1  const修饰符  137
3.4.2  如何使用const?可以使用到什么程度?  139
3.4.3  typedef  141
3.5  其他  143
3.5.1  函数的形参的声明  143
3.5.2  关于空的下标运算符[]  146
3.5.3  字符串常量  148
3.5.4  关于指向函数的指针引起的混乱  151
3.5.5  强制类型转换  152
3.5.6  练习——挑战那些复杂的声明  153
3.6  应该记住:数组和指针是不同的事物  157
3.6.1  为什么会引起混乱  157
3.6.2  表达式之中  158
3.6.3  声明  160
第4章  数组和指针的常用方法  161
4.1  基本的使用方法  161
4.1.1  以函数返回值之外的方式来返回值  161
4.1.2  将数组作为函数的参数传递  162
4.1.3  可变长数组  163
4.2  组合使用  166
4.2.1  可变长数组的数组  166
4.2.2  可变长数组的可变长数组  172
4.2.3  命令行参数  174
4.2.4  通过参数返回指针  177
4.2.5  将多维数组作为函数的参数传递  181
4.2.6  数组的可变长数组  182
4.2.7  纠结于“可变”之前,不妨考虑使用结构体  183
4.3  违反标准的技巧  187
4.3.1  可变长结构体  187
4.3.2  从1开始的数组  189
第5章  数据结构——真正的指针的使用方法  193
5.1  案例学习1:计算单词的出现频率  193
5.1.1  案例的需求  193
5.1.2  设计  195
5.1.3  数组版  200
5.1.4  链表版  203
5.1.5  追加检索功能  211
5.1.6  其他的数据结构  214
5.2  案例学习2:绘图工具的数据结构  218
5.2.1  案例的需求  218
5.2.2  实现各种图形的数据模型  219
5.2.3  shape型  221
5.2.4  讨论——还有别的方法吗  223
5.2.5  图形的组合  228
5.2.6  继承和多态之道  233
5.2.7  对指针的恐惧  236
5.2.8  说到底,指针究竟是什么  237
第6章  其他——拾遗  239
6.1  陷阱  239
6.1.1  关于strncpy()  239
6.1.2  如果在早期的c中使用float类型的参数  240
6.1.3  printf()和scanf()  242
6.1.4  原型声明的光和影  243
6.2  惯用句法  245
6.2.1  结构体声明  245
6.2.2  自引用型结构体  246
6.2.3  结构体的相互引用  247
6.2.4  结构体的嵌套  248
6.2.5  共用体  249
6.2.6  数组的初始化  250
6.2.7  char数组的初始化  250
6.2.8  指向char的指针的数组的初始化  251
6.2.9  结构体的初始化  252
6.2.10  共用体的初始化  252
6.2.11  全局变量的声明  253

图书信息来源:中国互动出版

0
0
分享到:
评论

相关推荐

    深入理解C语言指针的奥秘.doc

    深入理解C语言指针深入理解C语言指针深入理解C语言指针

    征服C&C++企业软件开发核心技术

    在“征服C&C++企业软件开发核心技术”这个主题中,我们主要探讨的是使用C和C++语言进行企业级软件开发的关键技术和实践。C++是一种强大的、面向对象的编程语言,而C语言则以其高效和底层控制能力著称,两者在企业...

    征服C&C++企业软件开发核心技术(源码)

    "征服C&C++企业软件开发核心技术"这个资源包含了开发者在实际项目中可能会遇到的关键技术,旨在帮助程序员深入理解并掌握这两门语言的核心概念,以及在企业环境中应用它们的方法。 首先,我们来探讨C++的基础知识。...

    征服C&C++企业软件开发核心技术.7z

    《征服C&C++企业软件开发核心技术》是一本深入探讨C++和C在企业级软件开发中的应用的专业资源。这本书可能涵盖了C和C++语言的基础、高级特性,以及如何利用这些特性构建高效、可靠的企业级应用。"资源整合"的标签...

    征服C&C++企业软件开发核心技术 源代码

    "征服C&C++企业软件开发核心技术"这个主题涵盖了这些语言在实际项目中的应用,通过源代码的学习和实践,可以帮助开发者深入理解其内在机制。 1. **C++基础与进阶**:C++是C语言的扩展,引入了面向对象编程(OOP)的...

    郭天祥十天征服单片机下载地址

    《郭天祥十天征服单片机》是一套旨在帮助初学者快速掌握单片机和C语言编程的教程。该教程共分为十课,详细涵盖了从基础到实践的多个方面,旨在让学习者在短短十天内对单片机有深入的理解并能够进行实际操作。 在...

    郭天祥十天征服单片机电驴下载地址

    综上所述,《郭天祥十天征服单片机》是一套非常适合初学者入门的教程,通过学习该教程不仅可以掌握单片机的基本原理,还能熟练运用C语言进行编程。希望每位学习者都能从中受益,开启精彩的单片机之旅。

    合并排序算法C语言源程序.zip

    - 在C语言中,我们通常使用指针来处理数组,因此在合并排序中,我们需要熟练掌握指针的操作。 3. **测试与验证**: - 为了确保代码的正确性,我们需要编写一组测试用例,包括各种可能的输入情况,如完全有序的...

    Conqueror

    C语言的静态类型、过程式编程风格和对指针的直接支持,使开发者能精确控制内存分配和释放,实现高效的系统调用。此外,C语言的跨平台性使得"征服or"操作系统可以轻松适应不同的硬件环境,具备良好的移植性。 在...

    揭秘数据解密的关键技术

    1.1 1字节码 1.1 1.1 代码和数据的区别 1.1 1.2 PE文件 第2章 识别汇编代码的高级模式 2.1 汇编中的常量、指针和变量——C语言中的常量、指针和变量 2.1.1 常量、指针和变量的定义 2.1.2 常量、指针和变量的实现机制...

    使用归并排序的思想来解决问题-算法.zip

    每次选择较小的元素添加到C中,并移动相应数组的指针。当其中一个数组的所有元素都被添加到C后,将另一个数组的剩余元素直接追加到C的末尾。 在《使用归并排序的思想来解决问题-算法.pdf》文档中,可能详细解释了这...

    mowangyuyan.rar_魔王语言

    在这个实验中,学习者会遇到如何定义和操作自定义数据结构的问题,这包括创建结构体、动态内存分配、指针操作等。这些都是C语言的难点,但也是其强大之处。通过实际编码,学习者可以更直观地感受这些概念,提升编程...

    C++企业软件开发核心技术

    在企业级软件开发领域,C++一直以其高效、灵活和强大的特性备受青睐。..."征服C&C++企业软件开发核心技术.iso"这个资源很可能是包含详细教程或视频课程的ISO镜像文件,可以帮助你系统学习和掌握上述知识点。

    C++程序设计谭浩强100%完整·清华大学

    C++是一种静态类型的、通用的、编译式的、多范式的编程语言,最初由贝尔实验室的Bjarne Stroustrup博士在20世纪80年代初基于C语言开发而成,旨在解决C语言在大型软件项目中的局限性,引入了面向对象的机制。...

    合并排序:一维数组上的排序算法的C实现

    在C语言中,我们可以使用指针和动态内存分配来处理数组。以下是一个简单的C语言实现: ```c #include #include // 合并两个已排序的子数组 void merge(int* arr, int l, int m, int r) { int i, j, k; int n1 ...

    c代码-排序:归并排序的递归算法

    在C语言中,我们通常使用函数指针和结构体来表示数组和操作。以下是一个基本的归并排序实现: ```c #include #include typedef struct { int* arr; int size; } Array; // 归并函数 void merge(Array* arr1, ...

Global site tag (gtag.js) - Google Analytics