2014-03-07 104 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'}

相關問題