2011-08-21 37 views
2

我在蘋果的框架文件什麼是語法的變量類型:Objective-C中的'somestring'?

enum 
{ 
    kAudioFormatLinearPCM    = 'lpcm', 
    kAudioFormatAC3      = 'ac-3' 
} 

什麼是'lpcm''ac-3'類型看見了?
在單引號中的單個字符像這樣'a',我知道它是一個字符;用這樣的雙引號"text",我知道它是一個字符串。

但這?這讓我感到困惑。

回答

3

首先你在一個類型的枚舉中,所以它只能表示一個int。我認爲蘋果使用它來爲枚舉創建獨特的vals,但也希望它可讀。

爲了更好的說明,請參見:What is the type of an enum whose values appear to be strings?

+3

「第二個單引號表示單個字節」否,他們不。 – sepp2k

+0

謝謝,尤其是鏈接:D –

+0

編輯糾正我的誤解。 –

3

流行的看法相反的'c'在C型爲int,不char。當您執行類似char c = 'c';之類的操作時,將出現從intchar的隱式轉換,與您寫入char c = 99;時相同。

因此要回答你的問題:'abcd'的類型是int,與'c'的類型相同。

+0

謝謝,好像它被稱爲整數字符常量。編程書籍很少提到這個,很奇怪。 –

相關問題