1、(unsigned long*)0x20000000;这个语句指的是什么意思?是把0x20000000定义成指针吗?
*0x20000000=2,表示的是将2放到0x20000000这个地址中?
2、(unsigned long*)0x20000000=2;这个赋值是错误的吧?
*(unsigned long*)0x20000000=2 这样赋值是正确的吧?
3、define P(unsigned long*)0x20000000 ;
*P=2;
与
Define P *(unsigned long*)0x20000000;
P=2;
这两者是等价的吧?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
0x20000000只是一个立即数,而你说的int *p;这句代码中的p是个指针,这两个不是等价的,如果要等价就要按照之前提到过的进行强制类型转换,就比如转换为(int *)0x20000000,这样就和int *p一样都是指针了。
可能会有点绕,自己多多体会就懂了
一周热门 更多>