用C语言给指定的内存地址赋值(通过指针)
这两天找工作,做面试题的时候,碰到这样的题:指定了一个地址,比如说0x0012ff7c这样一个地址,要求是给这个指定的地址赋一个确定的值,比如说100,当时就是一个郁闷啊,在汇编里这样用过,在c中还真没用过。今天在网上查了查,自己也在turbo c上运行了一下,正好做个总结,方法如下:
char * test;
test = (char *)0x0012ff7c;
*test = value;//自己赋值就好了
这里需要注意的是第二行中的(char *)是一定需要的,而且要和上面的指针定义的类型相对应,比如:
int * test;
test = (int *)0x0012ff7c;
*test = value;//赋给定的值
当然给指定的内存赋值,有的时候可能会失败的,因为有的内存是不允许写入的,注意哦!