2010-10-12 40 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

相关问题