社区
C++ 语言
帖子详情
m的值是怎样变成20的?
mapping_ping
2008-10-31 08:08:22
m的值是怎样变成20的?有点乱,没有想明白,请帮忙分析分析。
int m = 10;
int *p;
p = &m;
*p = 20;
printf("m = %d\n",m);
...全文
192
33
打赏
收藏
m的值是怎样变成20的?
m的值是怎样变成20的?有点乱,没有想明白,请帮忙分析分析。 int m = 10; int *p; p = &m; *p = 20; printf("m = %d\n",m);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Forest822
2008-11-07
打赏
举报
回复
p = &m;
*p = 20;
p指向了m的内存单元 并修改值为20
好尴尬奥
2008-11-07
打赏
举报
回复
[Quote=引用 16 楼 nuaamzc 的回复:]
引用 1 楼 zmlovelx 的回复:
p = &m;
*p = 20;
p指向了m的内存单元 并修改值为20
刚刚发错了
up
[/Quote]
自己发表一个简单的看法
p=&m
也就是此时的p取得的是m的地址,实际m的值为发生改变
*p是指向了m的实际值
也就是说*p=(m=20)
可不可以这样理解呢?
西园软件
2008-11-07
打赏
举报
回复
int m = 10;
int *p;
p = &m;
*p = 20;
printf("m = %d\n",m);
变量,实际上是一个存储单元或者存储区域,说白了,就是一个放数据的地方或容器.,
它有两个属性,名字和地址.通过名字和地址,你都可以访问这个变量,说白了,就是可以通过变量名和地址往这个存储单元里放数,或者取数.
就象学校是放学生的地方,学校有个名字,也有个门牌号表示的地址,你通过名字和地址,都可以找到这个学校来.
这两句程序中,m是变量名;p=&m,是变量的地址.
当你改变指针变量p(p里面的值是m的地址)所指向的存储单元(实际上就是变量m)里的值,事实上,就是改变了m的值.
XiaoMii
2008-11-07
打赏
举报
回复
建议看下值调用和引用调用,就会明白
XiaoMii
2008-11-07
打赏
举报
回复
这其实就是一个引用调用的原理
霍大脚
2008-11-07
打赏
举报
回复
引用与指针这个问题应该是指针开章就讲的吧
liu3xing3long
2008-11-07
打赏
举报
回复
首先要清楚指针和指针指向变量的区别
比如char*p=new char[23]
p是指针是位于栈上的,在出了作用域之后会自动释放,
至于后面的数组是位于堆上的,只能手动释放,所以会有delete p;
p只是一个符号,它指向的是char[23]而非p本身是字符数组;
SylarXillee
2008-11-07
打赏
举报
回复
指针的解引用会改变所指向单元的内容
jinsehongfengtiger
2008-11-07
打赏
举报
回复
p = &m;
此时p指向m的内存地址,也就是说*p和m是一个值
所以改变*p的值就等于改变了m的值
BuleRiver
2008-11-07
打赏
举报
回复
p = &m; // p指向m存储的内存单元,
*p = 20; // 修改m的值
MilanSpiRiT
2008-11-01
打赏
举报
回复
int m = 10; //定义整型变量
int *p; //定义一个指向整形变量的指针
p = &m; //该指针指向m变量的地址
*p = 20; //将指针指向的地址上的数据改为20,这个数据就是m
qingerzheng
2008-11-01
打赏
举报
回复
关键就是要正确理解指针的含义,指向了一个内存地址
lunarfan
2008-11-01
打赏
举报
回复
p = &m
这时你可以把*p就当成m
appleshao
2008-11-01
打赏
举报
回复
*p等价与int m
aidingbao1019
2008-10-31
打赏
举报
回复
万恶的指针,强大的指针。。。。基础基础。。。。
snsn1984
2008-10-31
打赏
举报
回复
通过指针指向修改.凡是介绍指针的部分都应该有这样的例子.
train0714
2008-10-31
打赏
举报
回复
[Quote=引用 14 楼 dfkjsdhfks 的回复:]
像这种问题书上已经讲得够清楚了,实在不行还可以上网搜一下指针方面的电子书吗,能自已搞定岂不更好.顺便还能更全面的了解指针,而不单单是一个问题.
当然对于这个问题楼上几位已经说得很清楚了.
[/Quote]
up
nuaamzc
2008-10-31
打赏
举报
回复
[Quote=引用 1 楼 zmlovelx 的回复:]
p = &m;
*p = 20;
p指向了m的内存单元 并修改值为20
[/Quote]
刚刚发错了
up
nuaamzc
2008-10-31
打赏
举报
回复
[Quote=引用楼主 mapping_ping 的帖子:]
m的值是怎样变成20的?有点乱,没有想明白,请帮忙分析分析。
int m = 10;
int *p;
p = &m;
*p = 20;
printf("m = %d\n",m);
[/Quote]
up
dfkjsdhfks
2008-10-31
打赏
举报
回复
像这种问题书上已经讲得够清楚了,实在不行还可以上网搜一下指针方面的电子书吗,能自已搞定岂不更好.顺便还能更全面的了解指针,而不单单是一个问题.
当然对于这个问题楼上几位已经说得很清楚了.
加载更多回复(13)
arcgis数据的M/Z
值
设置问题
如何在arcgis中如何去除数据的M/Z
值
信息问题
GIS坐标中的Z
值
和M
值
在ArcGIS中,我们常用的几何类型有点、线、面、体(体,在涉及三维的情况下使用),但在这之外,可能会遇到带ZM的类型,如图所示,面ZM,它与面类似,但比面多两个字段。 在编辑中查看草图属性可看到Z
值
和M
值
。Z
值
是用来存储高程属性信息的,M
值
是用来存储其他属性信息的,如温度、浓度等。这里的数据是CAD文件转过来的,所有有高程
值
,但没有M
值
。 从下面的WKT格式中可以看出几何点可能的类型有Poi...
全网首发飞猫M
20
详细刷机教程
通过以上详细的刷机教程,相信大家已经掌握了如何对飞猫M
20
进行刷机操作。刷机可以带来新的功能和更好的性能,但同时也要注意风险。如果不是特别必要,建议谨慎操作。随身WiFi刷机程序+工具资源,获取方式。
(C语言)(用指针的方式处理)有n个整数,使前面各数顺序向后移动m个位置,最后m个数
变成
最前面m个数
(用指针的方式处理)有n个整数,使前面各数顺序向后移动m个位置,最后m个数
变成
最前面m个数
台湾
20
m DEM高程瓦片数据介绍
台湾
20
m地形瓦片数据,能够在Cesium上无缝加载显示,数据质量很高
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章