#define A ((a *)b) 是什么意思
问题描述:
#define A ((a *)b) 是什么意思
uCon = GPIO->rGPIOMCON;
#define GPIO ((volatile oGPIO_REGS *)GPIO_BASE)
答
宏定义替换,定义强制类型转换,
#define GPIO 对应 (volatile oGPIO_REGS *)//指针类型
将GPIO_BASE 强制转换成 (volatile oGPIO_REGS *)也就是说将GPIO_BASE的值赋到oGPUO_REGS的指针中。uCon = GPIO->rGPIOMCON把rGPIOMCON的值赋到原来oGPUO_REGS指针所指向地址的存储单元中。我这样理解正确吗?恩,应该是理解正确.但要说的是,强制转换一定是在可以转换的基础上的.比如最简单的 int 强制转换到 char.其内部应该是按照字节存储结构来强制转换的,如上的转换不知道能否正确转换.你自行测试看看.