2011-08-21 89 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

谢谢,好像它被称为整数字符常量。编程书籍很少提到这个,很奇怪。 –

相关问题