生产代码中的 const volatile 加倍

const volatile doubled in production code

我目前正在使用 ANSI-C 中的生产代码,它部分是由一个非常不透明的工具链生成的(因此我找不到任何关于它的明确信息)。

在生成的代码中某处发生以下情况:

extern const volatile int16 * const volatile Varray[20];

以及访问权限:

int16 myValue = *Varray[var];

有效,这不是问题的一部分。我只想知道为什么 const volatile 写在数据类型 int16 * 之前和之后。

extern const volatile int16 * const volatile Varray[20];

这只是表示指针和值都是"const volatile"。

因此,Varray 是一个 const volatile 指针数组,它将存储 const volatile int16