2014-03-07 109 views
-2

'x'"x"有什么区别?'x'和'x'有什么区别?

是否'x'表示它是一个char的值,而"x"是否意味着它是一个字符串值?

非常抱歉与其他qn的相似性,因为我没有真正解释那里的解释,因为它太复杂了。

+3

是的,这正是差异。 – Brian

+1

@BrianBi只要“字符串”的意思是“字符串文字”。 – juanchopanza

回答

9

字面'x'char。文字"x"是类型const char[2]字符串文字,保留值为x\0的空终止字符数组。

+2

我很挑剔,但它应该是“空终止”而不是“空终止”。 :P –

+0

@TimothyShields我同意。编辑。 – juanchopanza

+0

'“x”'不像任何'const char [2]',但它是允许它用'='初始化数组的字面值。 – hyde

0

你的假设是正确的,

"x" is a string 
'x' is a char 
+2

我会小心地把它叫做C++中的一个字符串。它是一个CString(以空字符结尾的数组)而不是std :: string。你可以将其中一个指派给另一个的事实并不意味着它们是相同的。 – harmic

+1

@harmic即使[CString](http://msdn.microsoft.com/en-us/library/aa300688%28v=vs.60%29.aspx)也很让人困惑,因为这里有一个名字。 – juanchopanza

+0

基本上,char值只是一个char值。一个字符串只是一个字符数组,以一个空终止符结束。这个想法有不同的实现,I.E. CString和std :: string,但基本的想法是相同的 – Snappawapa

0

'X' 是指具有价值 'X' 一个字符。

“×”是指值的c型常量字符数组{“X”,0}

0

在C和C++,“x”是const char[]类型,其是一个数组,并且它是空终止(0×00)。 'x'类型为char
这个词“串”是有点暧昧,因为这可能意味着两件事情 -

  • 字符(const char[]
  • 数据类型std::string的字符串。 C++在标准库中支持字符串数据类型,可以指定const char[]

只是为了澄清:

“我”

实际上是这样的:

{ '我', '', 'A',“M ','\ 0'}

相关问题