正如标题所说,我有两个问题。为什么用*代替char *来代替字符串? char *和unsigned char *之间的区别?
编辑:为了澄清,他们没有实际使用char
和short
,他们确保他们是8位和16位的具体类型定义。实际类型则称为UInt8
和UInt16
。
1提问
iTunes的SDK使用unsigned short*
其中需要串。使用它有什么好处,而不是char*
/unsigned char*
?如何将其转换为char*
,而使用这种类型时会有什么不同?
2.问
我只看到char*
当一个字符串必须存储,但。我应该什么时候使用unsigned char*
,或者它没有什么区别?
'short'是2个字节的类型,而'char'是1个字节的类型。我不知道为什么SDK使用'short *'指向一个字符串。你确定它确实吗? – Eregrith 2012-02-15 14:42:46
@Eregrith'short'不保证是两个字节宽。 – 2012-02-15 14:44:23
@Eregrith'typedef UInt16 UniChar;',它的使用类似于'UniChar * someString;'。 – 2012-02-15 14:44:31