正如標題所說,我有兩個問題。爲什麼用*代替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