当前位置:首页 > 工业技术
C指针编程之道
C指针编程之道

C指针编程之道PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:孔浩,张华杰,陈猛编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115250841
  • 页数:394 页
图书介绍:本书细说开发人员多年的编程经验、感悟细说开发人员必知必会的100个关键细节细说开发人员不可忽略的30个技术陷阱细说开发人员意识中的20个常见谬误细说开发高手的20经典应用实例。
《C指针编程之道》目录

第1章C语言指针 1

1.1 C语言的灵魂 1

1.1.1从这里开始 1

1.1.2知识提示 1

1.2相逢在C语言 1

1.2.1初识指针—指针变量的定义 1

1.2.2学以致用—指针变量的引用 3

1.2.3知识提示 4

1.3走近指针的日子 4

1.3.1方圆世界—指针运算符 4

1.3.2玩转指针—指针操作 5

1.3 3知识提示 8

第2章 指针在数组中的应用 9

2.1由内及外—数组在内存中的样子 9

2.1.1物以类聚—数组 9

2.1.2数组在内存中的样子 9

2.1.3知识提示 10

2.2自从有了你 11

2.2.1数组的左膀—下标 11

2.2.2数组的右臂—指针 11

2.2.3知识提示 12

2.3数组,不止一面 12

2.3.1引蛇出洞—数组指针的定义 12

2.3.2数组指针的引用 15

2.3.3知识提示 18

2.4数组元素那点事 19

2.4.1这是直观的世界—数组的下标表示法 19

2.4.2数组的另一面—数组的指针表示法 23

2.4.3异曲同工—数组的下标与指针 27

2.4.4知识提示 30

2.5指针集中营—指针数组 30

2.5.1戏说指针数组 30

2.5.2深度对话—指针数组的引用 31

2.5.3知识提示 34

2.6聚焦字符串的指针 34

2.6.1字符串指针的定义 35

2.6.2字符串指针的引用 35

2.6.3知识提示 40

第3章 指针在函数中的应用 41

3.1完美的传递 41

3.1.1指针新用途—指针用做函数参数 41

3.1.2说来说去—普通参数与指针参数 49

3.1.3知识提示 50

3.2函数也有指针 50

3.2.1何谓函数的指针 50

3.2.2指点江山—指向函数的指针变量 50

3.2.3翻来覆去—函数指针与指针函数 53

3.2.4知识提示 54

3.3我要的是指针,不是寂寞 54

3.3.1函数的返回值 54

3.3.2这个函数很奇怪—返回指针类型的函数 54

3.3.3 main函数的返回值 55

3.3.4知识提示 57

第4章 指向指针的指针 58

4.1渐行渐进—多维数组 58

4.1.1多维数组的定义 58

4.1.2指针的指针 64

4.1.3当指针遇上多维数组 67

4.1.4知识提示 69

4.2不能不说的秘密main函数的秘密 69

4.2.1 main函数也是函数 69

4.2.2野百合也有春天main函数的参数 70

4.2.3知识提示 71

第5章 数据结构中指针的应用 72

5.1程序蜗居—内存 72

5.1.1铁打的营盘流水的兵—动态内存分配 73

5.1.2可持续发展—内存的释放 74

5.1.3知识提示 74

5.2再说队列 74

5.2.1有头有尾的队列 75

5.2.2无头无尾的循环队列 77

5.2.3链式队列 81

5.2.4知识提示 83

5.3永恒的话题—堆栈 83

5.3.1特殊线性表之堆栈 84

5.3.2堆栈的存储结构 84

5.3.3知识提示 89

5.4顺藤摸瓜—链表 89

5.4 1链表种种 89

5.4.2寻根问祖—链表的建立 91

5.4.3链表的操作 95

5.4.4知识提示 100

5.5 C世界的树 100

5.5.1 C世界的树是这样的 101

5.5.2“丫”形的二叉树 102

5.5.3今天,你“栽树”了吗—二叉树的创建 106

5.5.4一个也不能少—二叉树的遍历 107

5.5.5知识提示 112

第6章 指向文件类型的指针 113

6.1动与静—流和文件 113

6.1.1流动的“流” 113

6.1.2静悄悄的玫瑰—文件 114

6.1.3不得不说—文件类型指针 114

6.1.4知识提示 115

6.2进进出出的I/O 115

6.2.1 getchar() 116

6.2.2 gets() 116

6.2.3 scanf() 117

6.2.4 putchar() 120

6.2.5 puts() 120

6.2.6 printf() 121

6.2.7 知识提示 125

6.3 文件加工厂 125

6.3.1 fopen() 126

6.3.2 fclose() 127

6.3.3 fgetc() 127

6.3.4 fputc() 127

6.3.5 fgets() 128

6.3.6 fputs() 129

6.3.7 fread() 130

6.3.8 fwrite() 130

6.3.9 fprintf() 133

6.3.10 fscanf() 133

6.3.11 fseek() 133

6.3.12 rewind() 134

6.3.13 ftell() 134

6.3.14 feof() 135

6.3.15 知识提示 135

6.4学以致用 135

第7章 指针在C语言算法中的应用 142

7.1排序杂谈 142

7.1.1 “7”,上“8”下—冒泡排序 144

7.1.2高效快捷—快速排序 150

7.1.3各回各家—直接选择排序 153

7.1.4心随我动—直接插入排序 155

7.1.5好风凭借力—希尔排序 157

7.1.6树形结合—堆排序 160

7.1.7分久必合—归并排序 165

7.1.8排序方法总结 168

7.1.9知识提示 169

7.2查找 169

7.2.1地毯式搜索—顺序查找 170

7.2.2事半功倍—折半查找 173

7.2.3集中粉碎—分块查找 177

7.2.4知识提示 179

第8章 典型迷宫算法实例 180

8.1迷宫问题 180

8.1.1 C语言的梦幻家园—迷宫 182

8.1.2知识提示 184

8.2算法解析 184

8.2.1摸着石头过河—回溯法 184

8.2.2用回溯法解迷宫问题 189

8.2.3原来迷宫可以这样走 197

8.2.4知识提示 200

8.3指针的应用 200

8.3.1“迷宫”里的指针 200

8.3.2知识提示 207

第9章C语言和汇编语言的接口 208

9.1不可或缺的保护者—const和volatile 208

9.1.1忠诚的卫士—const 208

9.1.2不能没有你—volatile 210

9.1.3知识提示 211

9.2寄存器变量register 211

9.2.1直接快速的访问者register 211

9.2.2知识提示 212

9.3寄存器的方方面面 212

9.3.1纵观寄存器 212

9.3.2寄存器的方方面面 214

9.3.3寄存器操作—因“寄存器”而异 218

9.3.4知识提示 221

9.4 C语言与汇编语言混合编程简介 221

9.4.1混编方法 222

9.4.2汇编语言与C语言混编的几点说明 222

9.4.3知识提示 224

9.5 C语言调用汇编语言 224

9.5.1融为一体—嵌套汇编代码 224

9.5.2严丝缝合—调用汇编子程序 226

9.5.3知识提示 229

9.6汇编语言调用C语言 229

9.6.1汇编语言主程序调用C语言子程序 229

9.6.2应用举例 230

9.6.3知识提示 232

第10章Linux C编程技术简介 233

10.1 Linux系统程序设计基础 233

10.1.1揭开那神秘的面纱—第一个Linux C程序 233

10.1.2得力的助手—gcc 234

10.1.3纠错高手—gdb调试器 235

10.1.4强力黏合剂—makefile 239

10.1.5知识提示 242

10.2 Linux下的进程控制和进程间通信 242

10.2.1 Linux进程简介 242

10.2.2 Linux进程相关函数 244

10.2.3 Linux进程间通信 254

10.2.4知识提示 263

10.3 Linux下的线程控制 263

10.3.1 Linux线程的概念 264

10.3.2 Linux线程的标识 265

10.3.3 Linux线程的创建 265

10.3.4 Linux线程的终止 268

10.3.5 Linux线程的同步 270

10.3.6知识提示 270

10.4 Linux网络编程技术简介 270

10.4.1 TCP/IP协议简介 271

10.4.2套接字编程简介 273

10.4.3基本TCP套接字编程简介 280

10.4.4基本UDP套接字编程简介 287

10.4.5知识提示 292

第11章Linux进程与线程通信实例 293

11.1生产者—消费者问题简介 293

11.2用fork()实现简单的生产者—消费者功能 294

11.3用fork()实现较复杂的生产者—消费者功能 296

11.4用clone()实现生产者—消费者的功能 302

11.4.1互斥量 303

11.4.2信号量 304

11.4.3 clone系统调用 305

11.4.4用clone()、信号量、互斥量实现生产者—消费者功能 305

11.4.5知识提示 313

11.5用pthread_create()实现生产者—消费者的功能 313

11.6画龙点睛—fork()、 clone()、 pthread_create()的综合比较 317

第12章C语言管理系统设计案例 320

12.1员工信息管理系统 320

12.1.1系统的功能描述 320

12.1.2系统的总体设计 320

12.1.3详细设计 321

12.1.4知识提示 333

12.2停车场管理系统 333

12.2.1系统的功能描述 333

12.2.2系统的总体设计 333

12.2.3系统的详细设计 334

12.2.4知识提示 348

第13章C语言游戏设计案例 349

13.1猜字游戏 349

13.1.1游戏说明 349

13.1.2总体设计 350

13.1.3详细设计 351

13.1.4知识提示 369

13.2扑克游戏 369

13.2.1游戏说明 369

13.2.2总体设计 370

13.2.3详细设计 371

13.2.4知识提示 394

相关图书
作者其它书籍
返回顶部