static const vs const static

时间:2018-03-08 12:23:32

标签: c static const

在C中,变量声明中static constconst static之间是否存在差异?

const static提供warning: 'static' is not at beginning of declaration

这不是我的代码,我看到的所有其他问题都是关于C ++的,static在那里有不同的含义。

1 个答案:

答案 0 :(得分:3)

限定符和说明符的顺序无关紧要。 Per C 2011 [N1570] 6.7.3 10:

  

...说明符或限定符列表中类型限定符的顺序不会影响指定的类型。

和6.7.2 2:

  

...类型说明符可以按任何顺序出现,可能与其他声明说明符混合。

但是,该标准描述了在其他说明符或限定符之后使用存储类说明符作为过时,在6.11.5中:

  

在声明中声明说明符开头之外的存储类说明符的放置是一个过时的功能。

“过时”意味着该标准可能会在未来的标准修订版中考虑撤销(根据简介第2段)。因此,发出使用const static警告的编译器建议进行更改,以帮助为将来的C版本准备源代码。