用C语言给指定的内存地址赋值(通过指针)

这两天找工作,做面试题的时候,碰到这样的题:指定了一个地址,比如说0x0012ff7c这样一个地址,要求是给这个指定的地址赋一个确定的值,比如说100,当时就是一个郁闷啊,在汇编里这样用过,在c中还真没用过。今天在网上查了查,自己也在turbo c上运行了一下,正好做个总结,方法如下:

char * test;

test = (char *)0x0012ff7c;

*test = value;//自己赋值就好了

这里需要注意的是第二行中的(char *)是一定需要的,而且要和上面的指针定义的类型相对应,比如:

int * test;

test = (int *)0x0012ff7c;

*test = value;//赋给定的值

当然给指定的内存赋值,有的时候可能会失败的,因为有的内存是不允许写入的,注意哦!

原文地址:https://www.cnblogs.com/bittorrent/p/3483405.html