int *p=(*)(0xff);
int *p=(*)(0xff);怎么解释 说下原理谢谢 int *p=NULL;
p = (*)(0xff);
同上,
把0xff强制转换为指针并赋给整形指针变量p。 int *p=(int *)0xff; 回复【1楼】haibin
int *p=null;
p = (*)(0xff);
同上,
把0xff强制转换为指针并赋给整形指针变量p。
-----------------------------------------------------------------------
这是指针变量的强制转换啊
如果*p=&i;
那么*(0xff)=&i;
即0xff=&i;
这样对吗?
把一个内存的地址强制转换为指针有啥用啊 回复【3楼】13465686375 keil
-----------------------------------------------------------------------
不对,*p=&i;代表的意思是,p变量存的是i的地址。
内存的地址强制转换为指针有啥用啊 ?
如果你想对内存的一个地址进行操作,不用指针怎么操作呢。
比如用单片机,你可以看见好多的寄存器,其实那都是编译环境给你集成好了。以avr的mega16为例
DDRB是个控制端口B方向的寄存器,为什么他就能控制,别的就不能呢
实际上DDRB只是一个符号,真正的定义是#define DDRB=*(volatile unsigned int *)0x04; 回复【4楼】ww880127
回复【3楼】13465686375 keil
-----------------------------------------------------------------------
不对,*p=&i;代表的意思是,p变量存的是i的地址。
内存的地址强制转换为指针有啥用啊 ?
如果你想对内存的一个地址进行操作,不用指针怎么操作呢。
比如用单片机,你可以看见好多的寄存器,其实那都是编译环境给你集成好了。以avr的mega16为例
ddrb是个控制端口b方向的寄存器,为什么他就能控制,别的就不能呢
实际上ddrb只是一个符号,真正的定义是#define ddrb=*(volatile unsigned int *)0x04;
-----------------------------------------------------------------------
噢 原来是这样 万分感谢 ww880127 发表于 2012-2-1 15:05
回复【3楼】13465686375 keil
-----------------------------------------------------------------------
...
*rr =(int) (r * 0xff); 这个代码如何解释呢 *rr =(int) (r * 0xff); 你好这个代码如何解释呢 本帖最后由 binaimei2007 于 2014-4-13 15:51 编辑
优享家 发表于 2014-4-13 15:32
*rr =(int) (r * 0xff); 你好这个代码如何解释呢
意思是将 r*0xff 强制转化为int类型,然后放到rr指向的地址内 binaimei2007 发表于 2014-4-13 15:49
意思是将 r*0xff 强制转化为int类型,然后放到rr指向的地址内
那 r*0xff表示什么意思呢
页:
[1]