盛世经典郎酒价格:C语言中怎样访问和修改物理内存

来源:百度文库 编辑:高考问答 时间:2024/04/28 16:49:46
我是C语言初学者,不是说C语言可以直接访问和修改物理内存吗,请问怎么样访问和修改?
比如,我想在一个程序中给一个变量赋值,该值保存在某一内存空间,然后用getch();语句暂停程序,再在另一个程序中把保存在该内存空间的值修改为10,接着第一个程序继续执行,输出该变量的值,输出值应为修改后的10。可以实现吗?或者其他的修改物理内存的例子也可以。。
谢谢1楼的回复,但是有点,你说的那个我知道,可是那个只能修改本程序的变量啊,那不要取地址也可以改了,但如果不是本程序的变量,而是某一物理内存地址的值怎么修改啊?
哦,还有个问题,用取地址符号取得的地址好象不是物理地址啊。一般PC支持最大4G内存,也就是物理地址为4个字节,而C语言中在一般模式下(small)的地址是2个字节,所以应该不是物理地址,只是与物理地址的映射,是这样的吗?

可以啊!你学过指针了吗?定义一个整形指针:int value;
int *a=&value;//&为取地址
之后就能通过*a来直接访问value的地址了
但是好象windows有安全机制,如果你试图改变windows内核程序的内存,你的程序会停止运行.