指针是C语言规范里面一项核心内容,指针具有与生俱来的优势,利用指针可以写出许多短小精悍、效率极高的代码,它是C语言一把无可替代的利器,凭着这把利器,C语言与其它高级语言相比至少在效率方面高人一筹。但是,由于指针的原理与使用方式跟人们通常的思维习惯有较大的差别,造成了指针比C语言其它概念难理解得多,这使得对指针认识不足成为了一种在C程序员中普遍存在的现象,这种不足必然导致程序员在指针的使用过程中不断遭受挫折,挫折多了,指针俨然变成一道无法逾越的难关,恐惧感也就油然而生了。在恐惧感面前,某些程序员甚至产生了要避免使用指针的念头,这是非常不可取的。指针是如此犀利,正是它才使得C语言威猛无比,如果就这样把它放弃了,那么C语言就算是白学了。我们应当让指针成为你手中那把砍掉索伦手指上魔戒的举世无双的纳西尔圣剑,而不是成为你心中永远的魔戒。
本文的目的,是希望通过跟各位朋友一起讨论关于指针的几个关键概念及常见问题,以加深对指针的理解。因此,本文并不是讲述形如int
*p、struct {int i;float j;}
*p等这些东西是什么的文章,阅读本文的朋友最好对指针已经具有一定的使用经验,正因如此,笔者才给文章起名叫《再再论指针》。笔者不敢奢望能够完全解开你心中的魔结,但如果通过阅读本文,能够让你在日后的指针使用过程中减少失误,那笔者就心满意足了。本文将讨论如下十个主题,读者最好按主题的顺序一个一个地阅读,当然,如果你只对其中某个或某几个主题感兴趣,只看那几个也未尝不可。
当你阅读本文后:
如果你有不同的意见,欢迎你在评论里留下自己的见解,笔者很乐意跟你一起讨论,共同进步。
如果你觉得我说的全都是废话,那么恭喜你,你的指针已经毕业了。
如果你有太多不明白的地方,那么我介绍你先找一些关于数组与指针的读物看看,笔者推荐你阅读一本叫《C与指针》的书,看完后再回来继续思考你的问题。
1、什么是数组名?----一个让你吃惊的事实!
2、再一次吃惊!----数组的数组与多维数组的区别
3、数组的解剖学
4、[
]运算符的本质
5、指向数组的指针
6、“另类”数组
7、C语言声明详解
8、右左法则----复杂指针解析
9、指针与const
10、围绕p()与(*p)()的争论
11、《再再论指针》后记
分享到:
相关推荐
### 指针的核心概念与应用 #### 一、引言 指针是C语言中极为重要的一个概念,它不仅体现了C语言的强大功能,更是学习和掌握C语言的关键所在。然而,指针的概念较为抽象,初学者往往难以理解和掌握其精髓。本文旨在...
《C语言再再论指针修订版》这篇文章是作者对于2005年所作《再再论指针》的更新版本,旨在进一步深化读者对于C/C++中指针的理解。在修订版中,作者主要从以下几个方面进行了补充和完善: 1. **引用C/C++标准的条款...
- 当将数组名传递给函数时,实际上是传递了一个指向数组首元素的指针。 #### 四、[]运算符的本质 方括号运算符 `[]` 是C语言中最常用的索引运算符之一,它允许通过索引访问数组中的元素。 **运算符工作原理**: ...
"透明的鼠标指针--------很漂亮"这个标题提到了一个关于鼠标指针的主题,它指的是用户可以改变默认的鼠标指针样式,选择透明或者半透明效果的指针,以增加桌面的视觉吸引力。透明鼠标指针通常会给操作系统带来一种...
本篇将从空间的角度深入理解指针。 首先,我们需要了解指针的基本概念。指针是一个变量,其值为另一个变量的地址。在C语言中,我们可以声明一个指针变量来存储某个变量的内存地址。当我们谈论指针的“空间”时,...
c语言指针C-Test-10-15.rar
C语言进阶学习,指针-字符串-结构体-枚举-内存管理
智能指针源码memory之-Ptr-base
以图片形式让你更好的理解指针
指针
"让你真正了解指针-85页-ppt"这个资源详细讲解了指针的相关知识,包括地址与指针的基础概念、指针的定义方法、数组与指针的关联、指针作为函数参数的运用、字符串与指针的关系,以及更高级的主题如指向函数的指针和...
### 再再论指针——深入解析C语言指针问题 #### 一、引言 在C语言中,指针是其核心特性之一,它赋予了C语言强大的灵活性和高效性。然而,指针的复杂性和非直观性也让不少初学者感到困惑。本文旨在深入探讨C语言中...
c++指针源码memory之-Ref-count-obj2 和STD forward 和 STD make-shared
-
间接引用则是通过指针变量来访问,首先将变量的地址存储在指针变量中,再通过指针来读写数据。 2. **指向变量的指针变量** - 指针变量的定义:使用`类型名 *指针变量名;`来定义,例如`int *p;`表示`p`是一个指针...
### C指针详解 在C语言中,指针是一个非常重要且强大的特性,它允许程序员直接操作内存,这对于理解和掌握程序底层工作原理至关重要。本文旨在帮助读者深入理解C指针的各种概念,并通过具体示例来剖析复杂的类型...