开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

12
返回列表 发新帖
楼主: 黄桃罐头
收起左侧

[C/C++] 指针到底是啥意思...

[复制链接]
结帖率:33% (1/3)
发表于 2023-4-11 22:11:38 | 显示全部楼层   广西壮族自治区南宁市
这东西就像是武功心法一样,还是要靠自己领悟的
回复

使用道具 举报

签到天数: 12 天

发表于 2023-4-11 22:21:11 | 显示全部楼层   辽宁省大连市
还有  没有定义的野生指针
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 26 天

发表于 2023-4-11 22:23:15 | 显示全部楼层   广西壮族自治区柳州市
指针也就是一个内存地址(32位进程中占4字节,64位进程中占8字节),指向内存中存放的数据
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2023-4-12 00:11:51 | 显示全部楼层   河北省邯郸市
比如有如下内存
内存地址      值
12345678      1
87654321   98765432
65432187      2
地址就是前面内存地址,值就是指针,12345678的指针就是1,87654321的指针就是 98765432
那么问题来了,你看的是什么呢?
是[87654321]那么就代表指针为 98765432
要是87654321+4,那么就是地址为65432187
如果[87654321+4],那就是2
有[]就是指针,没有就是地址
回复

使用道具 举报

结帖率:100% (31/31)

签到天数: 28 天

发表于 2023-4-13 09:27:46 | 显示全部楼层   浙江省杭州市
指针是一种变量,它存储了一个内存地址,可以用来访问该内存地址所对应的变量或对象。通过指针,程序员可以直接操纵内存,实现更加灵活高效的编程。指针可以用于操作各种数据类型,包括基本类型、复合类型、函数等。指针的灵活性和功能强大,使其成为C++语言中重要且难点的知识之一
回复

使用道具 举报

结帖率:94% (109/116)

签到天数: 20 天

发表于 2023-6-7 12:48:19 | 显示全部楼层   山东省潍坊市
指针就是地址
易语言中   取变量数据地址(变量名)
取到的就是一个地址     然后可以用  指针到文本() 类似的函数  取里面的值
比如启动线程只能传递整数参数  但是想传递文本的值 就可以把指针传递过去  然后再取里面的值
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2023-10-17 09:50:25 | 显示全部楼层   四川省成都市
首先,来看一张我随手弄的EXCEL表格:
新建位图图像.png
这个表格,第行都有五列,共五行数据。
每个单元格,你可以认为是一段内存空间。
每个单元格都能存放指定的数据,而每个单元格都有一个坐标名称,比如B2的内容是“张三”。按顺序来算,B2位于第7个格子中对吧?那么“陕西省宝鸡市风县”呢?在第20个格子。
到这里,只要不是月㐫歹戋党,或许已经发现,这个格子其实相当于是内存中的一个内存单元,而这个7就是这个格子的编号,俗称“地址”,也就是我们说的“指针”。
我的例子中,每一个格式可以存很长的数据,但内存,每一个指针指向一个内存单元,每个单元只能存一个字节的数据,比如,int型整数怎么办?好办,连续四个内存单元即可,那么,这个int对应的第一个内存单元的地址。所以,也叫“首地址”。
unsigned char txt = 'A';
这时,系统会分配一个字节的空间给变量txt,并写入一个值为65的无符号整数进去。
现在,我们用:
unsigned char *a;
a =&txt;
就可以将txt的指针读出来,读到的是一个整数,这个整数其实就是这个内存的编号,即上述“张三”对应的7。
而我们引用这个地址中的数据,即可读到这个变量中的数据。方法就是:
printf ("%d\n", *a);

1KB有1024字节,那就有0-1023个编号来对应这1024个内存单元,1MB有1024KB=1048576字节,1GB有1024MB=1073741824字节,如果一台电脑有4G的内存,那么,理论上讲,他拥有4294967296个字节,使用0-4294967295来对这些内存单元进行编号。
现在,定义一个变量:
int a =128;
然后,这个变量a被系统分配到第2000,2001,2002,2003这四个内存单元中,因此,这个2000就是变量a的首地址,因为地址是指向一个数据的编号,所以也就形象地使用“指针”来表达地址这一概念。
如果我们取变量a的指针,得到的是2000这个编号,即这个变量的首地址。
如果我们取变量a指针指向的数据,即*a,那么,得到的是2000-2003这连续四个内存单元中存放的数据。
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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