C ++中的volatile unsigned *

时间:2013-02-05 03:37:49

标签: c++ pointers volatile

  

可能重复:
  Unsigned keyword in C++

我目前正在学习如何直接访问内存映射设备(特别是Raspberry Pi GPIO)以及某些sample code我看到以下内容:

// I/O access
volatile unsigned *gpio;

让我困惑的是似乎没有定义任何类型。这是有效的C ++,如果是这样,上面的代码是什么声明?

谢谢!

PS:我知道Raspberry Pi StackExchange,但这个问题与C ++语法有关。

2 个答案:

答案 0 :(得分:4)

unsignedunsigned int相同。

与此相同:

volatile unsigned int *gpio;

更短。

答案 1 :(得分:2)

没有基础类型的unsigned限定符只是unsigned int的简写。

volatile表示编译器可能会以程序不期望的方式更改此值。换句话说,编译器不应该尝试对值进行任何缓存或优化,因为它不知道它将如何更改。