当前位置: 代码迷 >> C语言 >> 关于定义方面的问题
  详细解决方案

关于定义方面的问题

热度:120   发布时间:2006-11-24 14:08:52.0
关于定义方面的问题
请问我看到一段源代码,下面有这及句话:

typedef unsigned int WORD;
#define REG_TIMEA0_CNTRL (WORD *)0x1106

中的(WORD *)是什么意思啊?
搜索更多相关的解决方案: 源代码  定义  WORD  REG  int  

----------------解决方案--------------------------------------------------------

和int *等价,相当于一个整型指针.


----------------解决方案--------------------------------------------------------
typedef unsigned int WORD;

将 unsigned int 与WORD 定义为等同的语句
以后的WORD就等于unsigned int

即(WORD *)0x1106 就是(unsigned int *)0x1106
----------------解决方案--------------------------------------------------------
就是把unsigned int改个名字 WORD     
----------------解决方案--------------------------------------------------------

也许是我没有说明白,我知道WORD的定义为无符号型的INT型,但是 (WORD *)是什么意思就不明白了。比如说,INT *A,我明白,INT * 我就不明白了,既然像2楼说的,指定一个整形变量,那么变量的变量名称呢?如果没有变量名称,那么怎么指向另外的一个地址?


----------------解决方案--------------------------------------------------------
注意这里:#define REG_TIMEA0_CNTRL (WORD *)0x1106
在我在3楼的观点上
编译预定义时,将所有REG_TIMEA0_CNTRL替换为指向内存地址为0x1106的int类型的数据,比如你在0x1106存了一个3000的数,只要使用*REG_TIMEA0_CNTRL就可以引用这个数
----------------解决方案--------------------------------------------------------

收到,谢谢!


----------------解决方案--------------------------------------------------------
  相关解决方案