2010-10-12 75 views

回答

3

他們是一個一樣的。僅僅是用來描述字符串的單詞的首選項。

+1

你的意思是使用哪個*字符串來描述字符串:) – Arun 2010-10-12 05:00:53

+2

並非所有的常量都是文字。 – 2013-01-01 05:26:58

1

用來描述同樣的想法,第二個字的拼寫?

我會認爲它們是同一個東西 - 同一構造的替代術語。

+0

所以基本上,短語字符串文字或字符串常量可以用來表示同樣的事情? – 2010-10-12 03:24:22

+1

@Dave:是的,這就是我所說的(略有提示) - 以及其他人也說了些什麼。 – 2010-10-12 03:40:02

+0

正如@BenVoigt在其他評論中指出的那樣,文字是一個常量,但常量可能不是文字。 – jweyrich 2013-01-01 05:33:42

0
const char * strConst; 
strConst = "Hello World"; 

在這個例子中

  • strConst是字符串常量。
  • "Hello World"是一個字符串文字,通常存儲在程序的只讀區域。
+2

有趣的分析,但它恐怕並不真正站起來。變量'strConst'實際上是一個變量;它可能會改變爲指向除字符串字面以外的其他字符串,但是您將無法修改通過'strConst'指向的字符串。如果你寫了'const char * const strConst =「Hello World」;',那麼你可能會遇到一個更強大的情況,但是'strConst'仍然是一個指針而不是一個字符串常量。一個指向常量字符串的常量指針,但仍然是一個指針,而不是一個字符串常量。 – 2010-10-12 03:44:26

+0

要點是,文字是實際的文字不通過變量標籤隱藏。但它們都是不變的字符數組。 – mikek3332002 2010-10-12 04:10:23

5

C99 Draft from 2007中使用術語刺激文字字符串常量根本沒有出現在草稿中。

我發現字符串字面是一個不錯的選擇一詞說起「富」的時候(就像42是文字數,「富」是一個文本字符串)。

+0

感謝您的澄清。 :)讓我感到困惑的是,很多書籍都使用了字符串常量這個術語,但是C99使用了字符串文字,就像您說的那樣。 – 2010-10-12 03:46:35

-1

文字常數意思是相同的,這是在源代碼中表示固定值的符號。

+1

不正確。 'sizeof(int)'是一個常量,但它不是一個文字。 – 2013-01-01 05:28:22

相關問題