2013-03-19 130 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