鱼C论坛

 找回密码
 立即注册
查看: 2726|回复: 6

[技术交流] 关于C/C++中指针变量的正确理解.

[复制链接]
发表于 2014-1-18 15:53:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 五号智能 于 2014-1-18 20:28 编辑

今天看到一个帖子,用汇编来解释指针,我就想,这不是脱裤子那啥了吗,一种编程语言竟然去用另一种编程语言来解释.难道还得去学汇编才能理解指针?这是神马逻辑.
而且这样的帖子竟然看到不少,今天在看雪也看到类似的帖子.这真是世间本无事,庸人自扰之.

现在我就告诉你们什么是指针.

了解指针,必须对"内存"这个概念有个基本的了解, 字面的意思:就是 内部存储器. 英文叫Memory.记忆体
是计算机用来存储东西的~ 怎么存储的呢? 它是靠记录电信号来存储的. 电平的高低来比喻成0或1的二进制数字.
可以记录一位二进制的电路, 我们叫它"位",英文bit .我们的内存就是由这些bit组成的.一个挨一个,组成了一条长长的线~

为了方便 存储数据和访问,我们制定了如下规则, 每8个位 称为一个字节(byte), 每个字节都有一个编号.从0到-N;
现在我们来说数据,  它就存储在内存之中. 我们访问数据,就是通过内存编号来得知这个数据的存储位置的,从而对它进行操作.
而指针变量,就是用来存储这个编号的.
int a=5;
int *p=&a;
这样我们就一目了然了  指针 p保存了变量a的地址.  现在我们可以直接通过p找到内存中的位置对这个数据进行修改.
p的值就是变量a的内存编号. 我们可以用printf或cout来打印出来看看是多少.
因为p也是一种数据,它也存储在内存之中. 所以&p 可以取出存储p的地址.
我们现在可以灵活的来掌握一下这个指针.
int p=(int)&a;     // 看,我们用一个int型数据来保存这个编号,反正 在32位系统中,指针是4字节的数据,int也是,它们之后的赋值,不会出现截断的意外.
int b=*((int*)p);     //哈,玩一下,强制为int指针之后再解引用. 把上面a的数据赋值给b
同学们,去玩吧,多玩玩,你就理解指针只是一个碟小菜而已.
游客,如果您要查看本帖隐藏内容请回复






想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-19 16:58:43 | 显示全部楼层
本帖隐藏的内容回帖是美德
靠,坑人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-20 12:37:02 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-20 18:17:32 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-12 15:02:44 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-12 15:31:59 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-12 16:28:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-14 10:09:30 From FishC Mobile | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-14 12:16:56 | 显示全部楼层
我想学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-8 15:41:17 | 显示全部楼层
康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-8 19:10:41 | 显示全部楼层
我来看看 我太菜出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 19:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表