我在蘋果的框架文件什麼是語法的變量類型:Objective-C中的'somestring'?
enum
{
kAudioFormatLinearPCM = 'lpcm',
kAudioFormatAC3 = 'ac-3'
}
什麼是'lpcm'
和'ac-3'
類型看見了?
在單引號中的單個字符像這樣'a'
,我知道它是一個字符;用這樣的雙引號"text"
,我知道它是一個字符串。
但這?這讓我感到困惑。
我在蘋果的框架文件什麼是語法的變量類型:Objective-C中的'somestring'?
enum
{
kAudioFormatLinearPCM = 'lpcm',
kAudioFormatAC3 = 'ac-3'
}
什麼是'lpcm'
和'ac-3'
類型看見了?
在單引號中的單個字符像這樣'a'
,我知道它是一個字符;用這樣的雙引號"text"
,我知道它是一個字符串。
但這?這讓我感到困惑。
首先你在一個類型的枚舉中,所以它只能表示一個int。我認爲蘋果使用它來爲枚舉創建獨特的vals,但也希望它可讀。
爲了更好的說明,請參見:What is the type of an enum whose values appear to be strings?
流行的看法相反的'c'
在C型爲int
,不char
。當您執行類似char c = 'c';
之類的操作時,將出現從int
到char
的隱式轉換,與您寫入char c = 99;
時相同。
因此要回答你的問題:'abcd'
的類型是int
,與'c'
的類型相同。
謝謝,好像它被稱爲整數字符常量。編程書籍很少提到這個,很奇怪。 –
「第二個單引號表示單個字節」否,他們不。 – sepp2k
謝謝,尤其是鏈接:D –
編輯糾正我的誤解。 –