最近碰到一个这样的题:指定了一个地址,比如说0x0312ff7c这样一个地址,要求是给这个指定的地址赋一个确定的值,比如说100,之前在汇编里这样用过,在c中还真没用过。今天在网上查了查,自己也在vs上运行了一下,正好做个总结,方法如下:
char * test = NULL;
test = (char *)0x0312ff7c;
*test = value;//自己赋值就好了
这里需要注意的是第二行中的(char *)是一定需要的,而且要和上面的指针定义的类型相对应,比如:
int * test = NULL;
test = (int *)0x0312ff7c;
*test = value;//赋给定的值
当然给指定的内存赋值,有的时候可能会失败的,因为有的内存是不允许写入的!
:::不过方法是这样,但其实这样操作风险有点大,万一是系统内存就gg