C语言,想在存储区的某个地址写上某个数值

比如我要在0X00070000的地址处存储数据,例如:0X12345678,请问该语句如何实现

第1个回答  2014-04-01
假如你要存储的数据为“100”。 那就么定义一个 int指针。例如:int *p = 0x00070000;
*p = 100;

值为0x12345678; 则 *p = 0x123456789;本回答被网友采纳
第2个回答  2014-04-01
int *p=(int *)0x00070000;
*p=0x12345678;
这种写法是有一定危险性的追问

这么写,虽然不会报错,但是执行到该处时会直接进入hardfault

追答

出错是正常的,这是运行时错误,不是编译时错误。系统是不提倡直接使用地址的,因为那个地址对应的虚拟地址空间(页)可能是只读属性等不可写属性或你的进程根本没有开辟那个空间,出错正常啊。

相似回答