可以把指针赋一个绝对的地址吗
write C program TO impletment a function that can set an interger variable at the absolute address 0X12345678 to the value 0XAA55?
我不知道能否把指针付给一个绝对的地址,感觉如果这个地址已经被其他的变量用了,怎么办
[解决办法]
可以,指针就是来保存地址的,与地址空间被用还是没用没有关系,当然如果你这个地址空间的数据是只读的,那么你通过指针改变他指向的地址空间里的值就会出报错
[解决办法]
可以的。
[解决办法]
这里应该不需要你考虑这个地址是否有效与可写,而是假设它是有效与可写的
void f(void *p,int val){ *(int*)p=val;}int main(){ int i; f(&i,0xaa55); f((void*)0x12345678,0xaa55); return 0;}
[解决办法]
在VS2010上,不行。只能赋值为0
只以说明这种行为没有意义。
[解决办法]
这个与平台有关的,在DOS时代或单片机编程中,经常用到这种方式
但windows/linux运行在保护模式下,一般不这么做了