原来指针可以这么来理解,妈妈再也不用担心我的编程了
来源:互联网 发布: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了。
- 原来指针可以这么来理解,妈妈再也不用担心我的编程了
- 从此妈妈再也不用担心我的View冲突了
- 妈妈再也不用担心我的博客访问量了(一个可以刷博客访问量的小程序java)
- 妈妈再也不用担心我手贱删文件了呢
- 妈妈再也不用担心我使用git了
- 妈妈再也不用担心我喝汽水了。
- 妈妈再也不用担心我不会webpack了
- Oracle中表空间和数据文件的理解--so easy,妈妈再也不用担心我的学习!
- 妈妈再也不用担心我不会okhttp的服务器和客户端的传值了
- 用c++快速创建多个文件夹!妈妈再也不用担心我的手指了!!!
- Swift详解之四-------妈妈再也不用担心我的闭包了
- 玩物涨智:妈妈再也不用担心我的学习了
- 妈妈再也不用担心我的macbook发烫了计划2.0Beta
- 超全的一线互联网公司内部面试题库,有了它,妈妈再也不用担心我进不了大公司了!
- 第二章:git远程仓库(有了远程仓库,妈妈再也不用担心我的硬盘了)
- 下载iOS开源代码,妈妈再也不用担心我找不到iOS开源代码了
- 妈妈再也不用担心我收不到Google Adsense PIN码了
- 神器PEview 妈妈再也不用担心我看dll和lib等库文件了
- 第一次用
- Java静态内部类、匿名内部类、成员式内部类和局部内部类
- Oracle补丁术语介绍
- U3D 长按加速 使用道具
- UML的九种图
- 原来指针可以这么来理解,妈妈再也不用担心我的编程了
- 2015年9月14日- 2015年9月20日-工作周报
- MMD_1a_MapReduce
- 【ecmall】解决无法上传店铺logo和banner照片问题(二)
- 业界编译器Clang介绍
- RQNOJ 题目273 马棚问题(DP)
- 树懒-大话设计模式修炼笔记
- 理解javascript闭包和C++闭包
- prepare 预编译SQL:Mysql