2013-03-19 62 views
1
char const*const variablename = " "; 

这是什么意思?'char const * const c =“”''的意思是

是否与指针声明相同?

请任何人解释。

预先感谢您!

+0

const总是直接进入该项目的* left *,除非它是导致decl,在这种情况下,它是右边的第一项。即'const char *'和'char const *'是相同的。也就是说,这是一个const char指针,指向名为'variablename'的const char数据变量,该变量被初始化(并且总是会)为由一个空格和一个空终止符组成的只读char字符串。 – WhozCraig 2013-03-19 06:37:51

+0

这个问题之前已经被问过很多次了;另见http://stackoverflow.com/questions/890535/what-is-the-difference-between-char-const-and-const-char http://stackoverflow.com/questions/4949254/const-char-const -versus-const-char http://stackoverflow.com/questions/6851436/difference-between-const-char-char-const-const-char-const-string-storage等 – 2013-03-19 06:38:40

回答

4

这是一个const指向const C字符串的指针。这意味着字符串的内容和指针本身都不能被改变。

+0

通常我们应该什么时候使用它? – Raptor 2013-03-19 06:36:35

+0

@ShivanRaptor:谷歌“什么时候在c中使用const”。 – NPE 2013-03-19 06:37:48

+0

@NPE因为你我昨晚没睡觉:D – Maroun 2013-03-19 06:40:26

0

常量保护他的左侧,除非有什么可他的左边和 才把它可以保护他的右手边。

这适用于您的例子,这是一个const指针constString

相关问题