《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/O
- 6.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”下——冒泡排序 144
- 7.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 “迷宫”里的指针 200
- 8.3.2 知识提示
- 第9章 C语言和汇编语言的接口
- 9.1 不可或缺的保护者——const和volatile
- 9.1.1 忠诚的卫士——const
- 9.1.2 不能没有你——volatile
- 9.1.3 知识提示
- 9.2 寄存器变量——register
- 9.2.1 直接快速的访问者——register
- 9.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 得力的助手——gcc
- 10.1.3 纠错高手——gdb调试器
- 10.1.4 强力黏合剂——makefile
- 10.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 知识提示