深入理解c指针

深入理解c指针

ID:22981785

大小:2.97 MB

页数:211页

时间:2018-11-02

深入理解c指针_第1页
深入理解c指针_第2页
深入理解c指针_第3页
深入理解c指针_第4页
深入理解c指针_第5页
资源描述:

《深入理解c指针》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、版权信息书名:深入理解C指针(C/C++程序员进阶必备,透彻理解指针与内存管理)作者:RichardReese译者:陈晓亮ISBN:978-7-115-34448-9本书由北京图灵文化发展有限公司发行数字版。版权所有,侵权必究。您购买的图灵电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。目录版权声明O'ReillyMedia,Inc.介绍前言第1

2、章认识指针1.1指针和内存1.1.1为什么要精通指针1.1.2声明指针1.1.3如何阅读声明1.1.4地址操作符1.1.5打印指针的值1.1.6用间接引用操作符解引指针1.1.7指向函数的指针1.1.8null的概念1.2指针的长度和类型1.2.1内存模型1.2.2指针相关的预定义类型1.3指针操作符1.3.1指针算术运算1.3.2比较指针1.4指针的常见用法1.4.1多层间接引用1.4.2常量与指针1.5小结第2章C的动态内存管理2.1动态内存分配内存泄漏2.2动态内存分配函数2.2.1使用malloc函数2.2.2

3、使用calloc函数2.2.3使用realloc函数2.2.4alloca函数和变长数组2.3用free函数释放内存2.3.1将已释放的指针赋值为NULL2.3.2重复释放2.3.3堆和系统内存2.3.4程序结束前释放内存2.4迷途指针2.4.1迷途指针示例2.4.2处理迷途指针2.4.3调试器对检测内存泄漏的支持2.5动态内存分配技术2.5.1C的垃圾回收2.5.2资源获取即初始化2.5.3使用异常处理函数2.6小结第3章指针和函数3.1程序的栈和堆3.1.1程序栈3.1.2栈帧的组织3.2通过指针传递和返回数据3.

4、2.1用指针传递数据3.2.2用值传递数据3.2.3传递指向常量的指针3.2.4返回指针3.2.5局部数据指针3.2.6传递空指针3.2.7传递指针的指针3.3函数指针3.3.1声明函数指针3.3.2使用函数指针3.3.3传递函数指针3.3.4返回函数指针3.3.5使用函数指针数组3.3.6比较函数指针3.3.7转换函数指针3.4小结第4章指针和数组4.1数组概述4.1.1一维数组4.1.2二维数组4.1.3多维数组4.2指针表示法和数组数组和指针的差别4.3用malloc创建一维数组4.4用realloc调整数组长度

5、4.5传递一维数组4.5.1用数组表示法4.5.2用指针表示法4.6使用指针的一维数组4.7指针和多维数组4.8传递多维数组4.9动态分配二维数组4.9.1分配可能不连续的内存4.9.2分配连续内存4.10不规则数组和指针4.11小结第5章指针和字符串5.1字符串基础5.1.1字符串声明5.1.2字符串字面量池5.1.3字符串初始化5.2标准字符串操作5.2.1比较字符串5.2.2复制字符串5.2.3拼接字符串5.3传递字符串5.3.1传递简单字符串5.3.2传递字符常量的指针5.3.3传递需要初始化的字符串5.3.4

6、给应用程序传递参数5.4返回字符串5.4.1返回字面量的地址5.4.2返回动态分配内存的地址5.5函数指针和字符串5.6小结第6章指针和结构体6.1介绍为结构体分配内存6.2结构体释放问题6.3避免malloc/free开销6.4用指针支持数据结构6.4.1单链表6.4.2用指针支持队列6.4.3用指针支持栈6.4.4用指针支持树6.5小结第7章安全问题和指针误用7.1指针的声明和初始化7.1.1不恰当的指针声明7.1.2使用指针前未初始化7.1.3处理未初始化指针7.2指针的使用问题7.2.1测试NULL7.2.2错

7、误使用解引操作7.2.3迷途指针7.2.4越过数组边界访问内存7.2.5错误计算数组长度7.2.6错误使用sizeof操作符7.2.7一定要匹配指针类型7.2.8有界指针7.2.9字符串的安全问题7.2.10指针算术运算和结构体7.2.11函数指针的问题7.3内存释放问题7.3.1重复释放7.3.2清除敏感数据7.4使用静态分析工具7.5小结第8章其他重要内容8.1转换指针8.1.1访问特殊用途的地址8.1.2访问端口8.1.3用DMA访问内存8.1.4判断机器的字节序8.2别名、强别名和restrict关键字8.2.

8、1用联合体以多种方式表示值8.2.2强别名8.2.3使用restrict关键字8.3线程和指针8.3.1线程间共享指针8.3.2用函数指针支持回调8.4面向对象技术8.4.1创建和使用不透明指针8.4.2C中的多态8.5小结关于作者和封面上的鸟版权声明©2013byRichardReese,Ph.D.SimplifiedChine

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。