'x'和'x'有什么区别?
'x'
和"x"
有什么区别?'x'和'x'有什么区别?
是否'x'
表示它是一个char
的值,而"x"
是否意味着它是一个字符串值?
非常抱歉与其他qn的相似性,因为我没有真正解释那里的解释,因为它太复杂了。
字面'x'
是char
。文字"x"
是类型const char[2]
的字符串文字,保留值为x
和\0
的空终止字符数组。
我很挑剔,但它应该是“空终止”而不是“空终止”。 :P –
@TimothyShields我同意。编辑。 – juanchopanza
'“x”'不像任何'const char [2]',但它是允许它用'='初始化数组的字面值。 – hyde
你的假设是正确的,
"x" is a string
'x' is a char
我会小心地把它叫做C++中的一个字符串。它是一个CString(以空字符结尾的数组)而不是std :: string。你可以将其中一个指派给另一个的事实并不意味着它们是相同的。 – harmic
@harmic即使[CString](http://msdn.microsoft.com/en-us/library/aa300688%28v=vs.60%29.aspx)也很让人困惑,因为这里有一个名字。 – juanchopanza
基本上,char值只是一个char值。一个字符串只是一个字符数组,以一个空终止符结束。这个想法有不同的实现,I.E. CString和std :: string,但基本的想法是相同的 – Snappawapa
'X' 是指具有价值 'X' 一个字符。
“×”是指值的c型常量字符数组{“X”,0}
在C和C++,“x”是const char[]
类型,其是一个数组,并且它是空终止(0×00)。 'x'类型为char
。
这个词“串”是有点暧昧,因为这可能意味着两件事情 -
- 字符(
const char[]
) - 数据类型
std::string
的字符串。 C++在标准库中支持字符串数据类型,可以指定const char[]
。
只是为了澄清:
“我”
实际上是这样的:
{ '我', '', 'A',“M ','\ 0'}
是的,这正是差异。 – Brian
@BrianBi只要“字符串”的意思是“字符串文字”。 – juanchopanza