使用C中的指针混淆宏

时间:2014-11-12 04:12:48

标签: c pointers

我想了解这段代码

#define GET(p) (*(unsigned int*) (p)) 

我了解了指针,但我无法弄清楚上述含义是什么。当我使用GET(ptr)时,我是否在ptr指向的地址或ptr包含的地址处得到了值?

1 个答案:

答案 0 :(得分:5)

这意味着以下内容。

  1. 将指针p投射到类型unsigned int*
  2. 取消引用指针以获取该地址的值。
  3. 另一种表达方式是宏在unsigned int指定的地址获取p的值。