C指针编程之道作 者: 孔浩,张华杰,陈猛 编著出版时间:2011内容简介 《C指针编程之道》是一本帮助程序员提高编程素养的图书,书中结合开发人员多年的编程经验和感悟,介绍了指针在数组中的应用、在函数中的应用、指向指针的指针、数据结构中指针的应用,指向文件类型的指针、指针在C语言算法中的应用、典型迷宫算法实例、C语言和汇编语言的接口、Linux C编程技术简介、Linux进程与线程通信实例、C语言管理系统设计案例、C语言游戏设计案例等内容。《C指针编程之道》通过简单生动的语言和经典的开发实例讲解C语言指针应用的方方面面,帮助读者完全掌握C语言指针的使用细节。《C指针编程之道》适合大中专院校在校生、毕业生、求职者、编程爱好者学习,同时也可作为想要学习编程的初学者的指导用书。目录第1章 C语言指针1.1 C语言的灵魂1.1.1 从这里开始1.1.2 知识提示1.2 相逢在C语言1.2.1 初识指针——指针变量的定义1.2.2 学以致用——指针变量的引用1.2.3 知识提示1.3 走近指针的日子1.3.1 方圆世界——指针运算符1.3.2 玩转指针——指针操作1.3.3 知识提示第2章 指针在数组中的应用2.1 由内及外——数组在内存中的样子2.1.1 物以类聚——数组2.1.2 数组在内存中的样子2.1.3 知识提示2.2 自从有了你2.2.1 数组的左膀——下标2.2.2 数组的右臂——指针2.2.3 知识提示2.3 数组,不止一面2.3.1 引蛇出洞——数组指针的定义2.3.2 数组指针的引用2.3.3 知识提示2.4 数组元素那点事2.4.1 这是直观的世界——数组的下标表示法2.4.2 数组的另一面——数组的指针表示法2.4.3 异曲同工——数组的下标与指针2.4.4 知识提示2.5 指针集中营——指针数组2.5.1 戏说指针数组2.5.2 深度对话——指针数组的引用2.5.3 知识提示2.6 聚焦字符串的指针2.6.1 字符串指针的定义2.6.2 字符串指针的引用2.6.3 知识提示第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 我要的是指针,不是寂寞3.3.1 函数的返回值3.3.2 这个函数很奇怪——返回指针类型的函数3.3.3 main函数的返回值3.3.4 知识提示第4章 指向指针的指针4.1 渐行渐进——多维数组4.1.1 多维数组的定义4.1.2 指针的指针4.1.3 当指针遇上多维数组4.1.4 知识提示4.2 不能不说的秘密——main函数的秘密4.2.1 main函数也是函数4.2.2 野百合也有春天——main函数的参数4.2.3 知识提示第5章 数据结构中指针的应用5.1 程序蜗居——内存5.1.1 铁打的营盘流水的兵——动态内存分配5.1.2 可持续发展——内存的释放5.1.3 知识提示5.2 再说队列5.2.1 有头有尾的队列5.2.2 无头无尾的循环队列5.2.3 链式队列5.2.4 知识提示5.3 永恒的话题——堆栈5.3.1 特殊线性表之堆栈5.3.2 堆栈的存储结构5.3.3 知识提示5.4 顺藤摸瓜——链表5.4.1 链表种种5.4.2 寻根问祖——链表的建立5.4.3 链表的操作5.4.4 知识提示5.5 C世界的树5.5.1 C世界的树是这样的5.5.2 “丫”形的二叉树5.5.3 今天,你“栽树”了吗——二叉树的创建5.5.4 一个也不能少——二叉树的遍历5.5.5 知识提示第6章 指向文件类型的指针6.1 动与静——流和文件6.1.1 流动的“流”6.1.2 静悄悄的玫瑰——文件6.1.3 不得不说——文件类型指针6.1.4 知识提示6.2 进进出出的I/O6.2.1 getchar()6.2.2 gets()6.2.3 scanf()6.2.4 putchar()6.2.5 puts()6.2.6 printf()6.2.7 知识提示6.3 文件加工厂6.3.1 fopen()6.3.2 fclose()6.3.3 fgetc()6.3.4 fputc()6.3.5 fgets()6.3.6 fputs()6.3.7 fread()6.3.8 fwrite()6.3.9 fprintf()6.3.10 fscanf()6.3.11 fseek()6.3.12 rewind()6.3.13 ftell()6.3.14 feof()6.3.15 知识提示6.4 学以致用第7章 指针在C语言算法中的应用7.1 排序杂谈7.1.1 “7”上“8”下——冒泡排序 1447.1.2 高效快捷——快速排序7.1.3 各回各家——直接选择排序7.1.4 心随我动——直接插入排序7.1.5 好风凭借力——希尔排序7.1.6 树形结合——堆排序7.1.7 分久必合——归并排序7.1.8 排序方法总结7.1.9 知识提示7.2 查找7.2.1 地毯式搜索——顺序查找7.2.2 事半功倍——折半查找7.2.3 集中粉碎——分块查找7.2.4 知识提示第8章 典型迷宫算法实例8.1 迷宫问题8.1.1 C语言的梦幻家园——迷宫8.1.2 知识提示8.2 算法解析8.2.1 摸着石头过河——回溯法8.2.2 用回溯法解迷宫问题8.2.3 原来迷宫可以这样走8.2.4 知识提示8.3 指针的应用8.3.1 “迷宫”里的指针 2008.3.2 知识提示第9章 C语言和汇编语言的接口9.1 不可或缺的保护者——const和volatile9.1.1 忠诚的卫士——const9.1.2 不能没有你——volatile9.1.3 知识提示9.2 寄存器变量——register9.2.1 直接快速的访问者——register9.2.2 知识提示9.3 寄存器的方方面面9.3.1 纵观寄存器9.3.2 寄存器的方方面面9.3.3 寄存器操作——因“寄存器”而异9.3.4 知识提示9.4 C语言与汇编语言混合编程简介9.4.1 混编方法9.4.2 汇编语言与C语言混编的几点说明9.4.3 知识提示9.5 C语言调用汇编语言9.5.1 融为一体——嵌套汇编代码9.5.2 严丝缝合——调用汇编子程序9.5.3 知识提示9.6 汇编语言调用C语言9.6.1 汇编语言主程序调用C语言子程序9.6.2 应用举例9.6.3 知识提示第10章 Linux C编程技术简介10.1 Linux系统程序设计基础10.1.1 揭开那神秘的面纱——第一个Linux C程序10.1.2 得力的助手——gcc10.1.3 纠错高手——gdb调试器10.1.4 强力黏合剂——makefile10.1.5 知识提示10.2 Linux下的进程控制和进程间通信10.2.1 Linux进程简介10.2.2 Linux进程相关函数10.2.3 Linux进程间通信10.2.4 知识提示10.3 Linux下的线程控制10.3.1 Linux线程的概念10.3.2 Linux线程的标识10.3.3 Linux线程的创建10.3.4 Linux线程的终止10.3.5 Linux线程的同步10.3.6 知识提示10.4 Linux网络编程技术简介10.4.1 TCP/IP协议简介10.4.2 套接字编程简介10.4.3 基本TCP套接字编程简介10.4.4 基本UDP套接字编程简介10.4.5 知识提示第11章 Linux进程与线程通信实例11.1 生产者—消费者问题简介11.2 用fork()实现简单的生产者—消费者功能11.3 用fork()实现较复杂的生产者—消费者功能11.4 用clone()实现生产者—消费者的功能11.4.1 互斥量11.4.2 信号量11.4.3 clone系统调用11.4.4 用clone()、信号量、互斥量实现生产者—消费者功能11.4.5 知识提示11.5 用pthread_create()实现生产者—消费者的功能11.6 画龙点睛——fork()、clone()、pthread_create() 的综合比较第12章 C语言管理系统设计案例12.1 员工信息管理系统12.1.1 系统的功能描述12.1.2 系统的总体设计12.1.3 详细设计12.1.4 知识提示12.2 停车场管理系统12.2.1 系统的功能描述12.2.2 系统的总体设计12.2.3 系统的详细设计12.2.4 知识提示第13章 C语言游戏设计案例13.1 猜字游戏13.1.1 游戏说明13.1.2 总体设计13.1.3 详细设计13.1.4 知识提示13.2 扑克游戏13.2.1 游戏说明13.2.2 总体设计13.2.3 详细设计13.2.4 知识提示 上一篇: CLR via C#(第三版) 下一篇: 2012系统安装与重装