lyf9908 发表于 2011-1-1 17:07

*(volatile unsigned int *)0x34 = (unsigned int)IRQ_IntHandler;请教。

最近看C语言,下面的语句:
       *(volatile unsigned int *)0x34 = (unsigned int)IRQ_IntHandler;
   我的理解:把IRQ_IntHandler的首地址存入一个unsigned 表示int 型指针变量中,而这个指针变量本身的地址是:0X34;
       可是单步执行后,发现这种理解不正确。
       请问这里应如何理解,谢谢!

conter 发表于 2011-1-1 18:21

把IRQ_IntHandler的值放到0x34这个位置.

airwill 发表于 2011-1-8 20:05

把 IRQ_IntHandler 的地址放到 0x34 这个地址上.

nazhanghuamian 发表于 2011-1-11 12:33

2楼正解

nazhanghuamian 发表于 2011-1-11 12:37

右边*号是将0x34转换成指针, 左边取内容,相当于定义了一个指针(在0x34这个位置),然后给指针赋值

lxk396 发表于 2011-1-11 12:56

很好的资料哦
页: [1]
查看完整版本: *(volatile unsigned int *)0x34 = (unsigned int)IRQ_IntHandler;请教。