| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 669 人关注过本帖
标题:指针使用问题
只看楼主 加入收藏
duwn124
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2010-8-10
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:6 
指针使用问题
main()
{
    int *ptr;
    ptr = (int *)0x8080;
    *ptr = 0xaabb;
}

如上代码可以编译并运行,但是一会程序就崩溃了,求高人解释啊,弄不懂。谢谢了!
搜索更多相关主题的帖子: 指针 
2010-12-10 16:10
duwn124
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2010-8-10
收藏
得分:0 
自己顶,期待高人的出现。。。
2010-12-10 21:07
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
int *ptr;
    ptr = (int *)0x8080;
    *ptr = 0xaabb;
}
首先定义整形数据指针   ptr 在栈向低地址方向生长四个字节
让后把  0x8080 强制转化为指向整形数据的指针
存放到  ptr中  也就是刚才栈的那四个字节
然后对  ptr所指向的内存赋值为16进制的0xAABB
但是如果要输出 *ptr的话是输不出来的  因为地址为0x8080的内存不是编译系统分配的

                                         
===========深入<----------------->浅出============
2010-12-11 13:16
duwn124
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2010-8-10
收藏
得分:0 
回复 3楼 laoyang103
不能认为分配地址么?麻烦高人详细讲一讲啊,小弟学C++没多久的丫!多谢了!
2010-12-11 19:35
duwn124
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2010-8-10
收藏
得分:0 
回复 3楼 laoyang103
不能人为分配地址么?麻烦高人详细讲一讲啊,小弟学C++没多久的丫!多谢了!
2010-12-11 19:39
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
分配地址  不是你做的事  是操作系统做的事
自己分配地址  我目前不会

                                         
===========深入<----------------->浅出============
2010-12-11 21:46
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:10 
编译器和系统才能分配地址,你分配的万一是系统最重要的内存单元呢
2010-12-14 07:50
快速回复:指针使用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024383 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved