在任何情况下,将const多次放置在变量上会很有用吗?

JL2*_*210 0 c const

通常在C中,如果我想声明一个常量字符串,我可以这样做:

const char *p = "Friend";
Run Code Online (Sandbox Code Playgroud)

但是,如果我真的想弄清楚要点,可以这样做:

const const const const const const const const const const const const const
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const 
const const const const const const const const const const const const const
const char *p = "Friend";
Run Code Online (Sandbox Code Playgroud)

有什么理由可能有用吗?
有什么有用的方案吗?

Jon*_*ler 5

C11 §6.7.3类型修饰符¶5说:

如果同一限定符直接或通过一个或多个typedef 在同一specifier-qualifier-list中多次出现,则其行为与仅出现一次相同。

因此该标准说“允许,但毫无意义”。尽管宣传,但多次说同一件事并没有使它变得更真实。

  • 我不知道为什么,但是我认为“通过typedefs”部分可能是主要原因。 (3认同)
  • @ jl2210:因为编写语法禁止它太烦人了。而且没有害处。 (3认同)