【发布时间】:2016-06-30 06:27:06
【问题描述】:
我对 C 语法有一个小问题。 我知道写作
volatile char * volatile foo;
创建一个指向 volatile char 的 volatile 指针变量。
在我的理解中,第一个 volatile 意味着指针指向一个 volatile 元素,因为“volatile char”部分。 第二个 volatile 表示指针“foo”本身是 volatile。
这个假设正确吗?
会发生什么
static volatile char * volatile bar;
做吗?
假设上述语句是正确的,它应该声明一个指向 volatile+static char 的 volatile 指针。我的问题是,知道目标变量是否为静态的指针与指针无关。所以这可能声明了一个指向 volatile char 的 static+volatile 指针。
但是,假设这是正确的,第一个 volatile 将引用指针,第二个将引用指向的数据。
哪个是正确的假设? 每个 volatile 的作用是什么?
谢谢
【问题讨论】:
标签: c pointers static volatile