前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【答疑解惑】如何学习指针?

【答疑解惑】如何学习指针?

作者头像
程序员互动联盟
发布2018-03-14 17:27:31
7070
发布2018-03-14 17:27:31
举报
文章被收录于专栏:程序员互动联盟
指针,又是指针,学习C\C++的时候,指针就像是一道难以逾越的鸿沟啊。

在微信上,程序员互动联盟的qq上,太多的人问说指针好难啊,怎么学习指针?

那么首先什么是指针?

C 和 C++中的指针是一个很重要,也很灵活的元素。学会使用指针,不仅因为它是 C 和 C++的重要组成部分,更因为对有些问题使用指针会极大地简化解决过程,甚 至有些问题只能使用指针解决。 指针本质上是一个变量,只是它存储的值不是一般的数字或字符,而是其他变量的地址。

那么指针这么难,如何学习指针?

实际上初学者觉得指针较难的原因并不是指针的语法规则复杂(实际上并不比 for 循环复杂),也不是指针使用灵活(初学也用不到太多种用法,也就接下来将要说的两种),而是指针牵扯到一个叫做“地址”的东西。这个地址是什么东西,地址和它所指的变量有什么关系,这是最常问的两个问题。 想象一排盒子,就是内存空间;其中一个盒子,就是一个变量;盒子里面放的小球,就是变量的值;而地址就是这个盒子在一排盒子中的编号。 如果我在一排盒子里选一个盒子 a{int a;},在 a 里放一个小球{a=3;}。然后再选一个特殊盒子{int *b;},注意特殊指的是里面将要放的东西{int *}特殊,盒子本身{b}没什 么特殊的。接下来将看看盒子 a 的位置{&a},并将其写在一张纸上并放入盒子 b{b=&a;}。这样盒子 b 的特殊性就体现出来了:里面放的不是球{3},而是纸{&a}。 现在我想将盒子 a 里的球{3}换成另一个球{4},但是无法直接动盒子 a(例如忘了盒子 a 在哪了),手边只有盒子 b。我打开盒子 b,看到了写着盒子 a 位置的纸{p}, 从而找到了盒子 a{*p},最后将盒子 a 里的球换成另一个球{*p=4;}。 这个例子形象准确的描述了变量和指针的工作过程。

说到最后,好像还没有说到如何学习指针,其实,没有什么技巧,掌握它的基本概念后,多用,多写就行了,无他,唯熟而已。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档