我在苹果的框架文件什么是语法的变量类型: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 –
编辑纠正我的误解。 –