“char const * const c=" "”是什么意思?

5
char const*const variablename = " ";

这是什么意思?

它和指针声明一样吗?

请有人解释一下。

先谢谢了!


1
const 总是指向其左侧的项目,除非它是主要声明,此时它是其右侧的第一个项目。即 const char *char const * 是相同的。也就是说,这是一个名为 variablename 的常量指针,指向一个只读 char 字符串变量,该变量被初始化(并且始终如此)为一个由一个空格和一个空终止符组成的只读字符串。 - WhozCraig
这个问题已经被问过很多次了,可以参考以下链接:https://dev59.com/LnNA5IYBdhLWcg3wn_U1 https://dev59.com/Hm445IYBdhLWcg3wRoPH https://dev59.com/NGw15IYBdhLWcg3wD3np 等等。 - Adam Rosenfield
2个回答

6

这是一个指向常量C字符串的常量指针。这意味着无论是字符串的内容还是指针本身都不能被改变。


通常我们什么时候应该使用这个? - Raptor
@NPE 因为你,我昨晚没睡觉 :D - Maroun

3

const 保护他的左侧,除非他的左侧没有任何东西,只有这种情况下,它才会保护他的右侧。

将此应用于您的示例,它是一个const 指向 const String 的指针


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接