我在Apple的框架文件中看到了这个
enum
{
kAudioFormatLinearPCM = 'lpcm',
kAudioFormatAC3 = 'ac-3'
}
'lpcm'
和'ac-3'
的类型是什么?
在单引号中使用单个字符,如'a'
,我知道它是一个字符;使用像"text"
这样的双引号,我知道它是一个字符串。
但是这个?这让我很困惑。
答案 0 :(得分:3)
首先你的类型枚举,所以它只能代表一个int。我认为苹果使用它为枚举创建独特的val,但也希望它具有人类可读性。
有关更好的解释,请参阅:What is the type of an enum whose values appear to be strings?
答案 1 :(得分:3)
与普遍看法相反,C中'c'
的类型为int
,而非char
。当您执行char c = 'c';
之类的操作时,会有int
到char
的隐式转换,就像您编写char c = 99;
一样。
所以回答你的问题:'abcd'
的类型是int
,与'c'
的类型相同。