原来指针可以这么来理解,妈妈再也不用担心我的编程了

来源:互联网 发布:excel如何将数据分列 编辑:程序博客网 时间:2024/04/29 14:21

初学编程,通常会遇到一个拦路虎——“指针”。不论教材,还是老师的讲解,基本都是照本宣科,一点不生动。(这也是教材的一个通病,太严肃,不能说的太多,要不然会被和谐的O(∩_∩)O)

 

本人在此希望通过一系列文章,能将“指针”这一概念讲述清楚,使初学者能从中收益。

 

在学习一个新东西之前,最好通过我们一个熟悉的生活例子来引导,这样我们就好理解了。(有门路的同学可以把这条意见反馈到我们的教育部门)

 

先看一个熟悉的例子:

小新和妈妈逛完超市,为了考考小新的记忆力,让小新去找车停在哪里?那么小新怎样能快速的找到车子停放的位置呢?


上图是一个停车场,停好车后,会给你一个停车牌,上面纪录停车位的数字(也就是地址),这样当你取车的时候,按照停车牌上的地址,就能快速的找到汽车了。

 

所以,停车牌是去指引的作用的,下面本篇文章的主人公就要登场了——“指针”。

指针就是停车牌,指针就是停车牌,指针就是停车牌,重要的事情我说三遍!

在程序里,没有汽车,没有车位。那么分别对应着什么呢?

汽车——>变量(汽车有长短,所以变量也是有长短的哦,这就是为什么整型、字符长短不一样,原来是公交车和小汽车的区别,新技能,get!)

停车场——>内存(哦,内存原来是一个存放的空间,可以存变量)

车位——>字节

停车牌——>指针

 

好,接下来我们来做一道语文题,用上述词语替换原文进行变换。

原文:有一个停车场,分成很多车位,每个车位有不同的地址,汽车按不同车位停放。做一个停车牌纪录汽车停放的地址,用于快速找到汽车。

替换:(别告诉你不会,找那个教你语文的体育老师去)有一片内存,分成很多字节,每个字节有不同的地址,变量按字节存放在内存里。定义一个指针,纪录变量的存放地址,用于快速找到该变量。

 

好了,我的课程完了,下课~

 

等等,你还没懂?笔者已经哭晕在卫生间,没办法,笔者只有亮出杀手锏了——上“视频”

 

好了,这下各位应该满意了吧。我们再来看一段代码,是不是清晰多了?

 

intmain()

{

         short a = 3, b= 4;          (两辆货车a, b)

         float x = 1.5;             (一辆公交车x

 

         short *p;                (停车牌)

         p = &a;                  (把货车a的存放地址写到停车牌上)

 

         printf("%d, %d\n", p, *p);     (分别打印停车牌上的值和停车牌地址上提放的汽车)

         return 0;

}

 

所以最后运行结果是1638212, 3.

 

疗效就是这么显著O(∩_∩)O~,要了解更多IT知识,请关注微信公众号“实战帮”,每期一个知识点,妈妈再也不用担心我的IT了。
0 0
原创粉丝点击