注册 登录
编程论坛 新人交流区

[求助]c语言问题

yinlb1987 发布于 2007-11-10 21:46, 631 次点击
如何对一个指定的地址赋值
如:我要读取0x8000000的值并把它赋给变量state
请问用c语言能实现吗?
请各位大侠指教。
10 回复
#2
nuciewth2007-11-10 21:56
给一个指针初始化为一个地址值,然后引用这个指针指向的内容,并给state赋值.
#3
爬在网上的虫2007-11-10 22:17
不懂
#4
yinlb19872007-11-10 22:19
能不能说的具体点
最好能把代码写一下
谢谢!
#5
iFreeBSD2007-11-10 23:29
scanf("%p" ,&x);
#6
高手寂寞2007-11-11 08:47
倚天照海花无数,流水高山心自知。
#7
东方印2007-11-11 09:21

可以直接对一个地址直接赋值和读取,但这样做存在风险。另外,逻辑地址空间的低64K和高64K是不允许访问的,即用户方式分区只能是:0x00010000---0x7FFEFFFF,所以其它的内存读写是违法的。

#8
learnerboy2007-11-11 16:57
7楼是高手啊!
#9
yinlb19872007-11-11 19:40
如果对0x00010000---0x7FFEFFFF这个范围地址操作那应该怎么做呢?
#10
redleafe2007-11-11 22:01
除非你的操作级别高于操作系统,比如soft-ice等调试跟踪软件,而且不能依赖于系统API调用。可以向病毒学习。
#11
duzougaoao2007-11-11 22:23
以下是引用nuciewth在2007-11-10 21:56:00的发言:
给一个指针初始化为一个地址值,然后引用这个指针指向的内容,并给state赋值.
无法实现给指针赋初值,除非是一个地址,不能是具体的数字,否则很可能出问题。

[此贴子已经被作者于2007-11-11 22:27:15编辑过]

1