《C指针:基本概念、核心技术及最佳实践》这本书以介绍内存和实时内存的概念为切入点,深入讲解了指针变量的概念以及其最重要的操作,如引用和解引用。书中还详细介绍了指针运算和一维数组、使用指针处理字符串、指针访问多维数组的用法,以及使用指针访问结构体与成员字段等知识点。另外,本书还涵盖了函数指针概念的用法以及文件I/O处理等内容。通过清晰的逻辑结构和丰富的示例,读者能够全面了解C指针的基本概念和核心技术,并学会如何应用于实践中。本书是学习C指针的一本权威之作,对于想深入学习C语言编程的读者来说是一本必备的参考书籍。
C指针:基本概念、核心技术及最佳实践 电子书封面
读者评价
C指针:基本概念、核心技术及最佳实践,很好的书,对C语言指针可以有更多的了解!
内容介绍
本书从介绍内存和实时内存概念开始,然后讲述了指针变量的概念和它重要的操作(引用和解引用)、指针运算和一维数组、使用指针处理字符串、指针访问多维数组的用法、使用指针访问结构体与成员字段、函数指针概念的用法,以及文件I/O处理等知识。
目录
- 译 者 序
- 作者简介
- 前言
- 致谢
- 第1章 内存、实时内存管理和虚拟内存 1
- 第2章 指针基础 31
- 第3章 指针运算与一维数组 51
- 第4章 指针与字符串 69
- 第5章 指针与多维数组 85
- 第6章 结构体指针 105
- 第7章 函数指针 133
- 第8章 文件I/O指针 147
指针可以说是C语言的皇冠一样,让C语言大放光彩的也是它,让C语言充满问题的也是它。不知道多少人在学习C语言时,被这座大山挡住了。 本人一直以来对指针都处于半懂的状态,架不住C指针的内容太过复杂。后来因为项目的原因,决心一定要抽个时间好好把它弄清楚。至于市面存在的高质量关于C指针的书,我觉得除了这本,还有就是大家都熟悉的《C与指针》。那本书我简单的翻过,第一印象觉得那本书的质量水平更高一些。但之所以没有详细的看那本书,主要是那本书除了讲解指针,还讲解了很多深入的东西。作为对指针还不是很熟悉的人,贸然上手总会费一些时间。而且页数较多,不便于快速梳理。以后有时间,再要好好看一看吧。 再说本书。本书第一感觉就是小而精。首先是基本概念,然后是内存管理,有了这两个基础以后,就将指针与函数,数组,字符串和结构体结合的应用按章进行了讲解。最后又介绍了一些高级内容。思路非常清晰,认真读过之后明显感觉指针的概念清晰了起来。而且书中的样例代码对概念的理解非常有帮助。同时又配备了大量的图片和内存的分配图。很多混乱的东西都清晰了起来。 但是本书还是有些缺点的。首先就是翻译。我是英文和中文对照着看的。前几章的翻译还是不错的。但是到了后几章,尤其是最后高级应用那里,明显翻译水平差了好大一截。很多概念根本无法理解,读了英文之后才明白。 还有就是本书没有提供完整的样例代码,都是书中的一些代码片段。怎么说呢,这样有好处也有坏处。好处就是被迫使读者自己想办法写出完整的代码。这对人是一个很好的锻炼。基本一个完整的代码能让人理解好多东西。但是坏处也是明显的,尤其是在理解困难的概念上,你会发现只有代码片段很难构建其整个概念框架。理解起来超费劲。而且我非常肯定本书有些代码是没有经过编译器验证的,尤其是最后的几章,里面的有几处代码根本就不能执行。不过当你能发现这些问题时,也意味着你已经理解作者想表达的了。好吧,这也许也不能算是坏事。 不管怎样,如果想了解指针,本书是一本值得读的书,而且一定要亲手敲一敲里面的代码,将其完整实现写出来,然后多GDB,多多观察内存泄露情况,你会发现这本薄书会带来很多收获。
指针和内存 如果说内存相当于街道,那么地址就相当于位于街道中房子的房号。 一个字节(8bit)包含一个地址。内存中每一个位置都包含一个独一无二的地址标识,而每一个位置都包含一个值。 注意:①区别指针变量的内容(即地址)、指针指向变量的内容、指针的地址。 ②*p分别作为左值和右值时具有不同的意义 *p放在“=”左边表示p指向的空间 *p放在“=”右边表示解引用p ③在对指针进行初始化的时候有两种非法情况 如:int *pa;→这是未初始化的指针,这种做法是不行的 *pa=10; int *pret=fun();→这是个非法的指针,不能将一个函数直接赋给一个指针变量 *pret=20;