【发布时间】:2016-04-18 21:52:17
【问题描述】:
整理一个退休工程师的代码,我遇到了一个相当简单的宏,但是我的 C 知识不是很好。
#define mem32(addr) (*(unsigned long volatile *)(addr))
- 我是否正确地将其称为类型转换指针取消引用?
- 它类型转换 addr 然后取消引用它?还是反过来?有关系吗?
- 类型限定符和类型说明符的顺序是否重要?我曾假设(在此之前)类型限定符必须在类型说明符之前,但事实并非如此
- 语法问题。第二个 * 的目的是什么?
【问题讨论】:
标签: c pointers casting dereference