2012-09-15 103 views
4

我有一個字符串象這樣Ç無符號字符字符串數組

char *T[] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"}; 

當我像這樣做,但是,其中每個字符串是無符號字符

unsigned char *T[] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"}; 

我的陣列的陣列得到錯誤「使用'char [5]'類型的表達式'初始化'unsigned char *'將指針轉換爲具有不同符號的整數類型。」我猜這意味着一些正在使用的「0」和「1」的表示已經簽名,但我不知道爲什麼/如何處理這些。我想有一個字符串數組,其中每個字符串是一個無符號字符數組而不是有符號字符。有人可以幫助嗎?

注意:這是針對硬件問題,但不是實際問題,而且只是許多可能解決方案中的一個小步驟。但是,如果你能幫助我理解而不給我一個明確的答案,那將是一件好事。謝謝。

+4

簡單地說,字符串文字的類型是char *'not'unsigned char *'。 – Mysticial

+0

必須使用鑄造 –

+3

@tuğrulbüyükışık我強烈建議反對鑄造打破型安全。 – Mysticial

回答