可以說我有這個你可以使用十六進制在char **中聲明數據嗎?
char *something[] = {
"/bi",
"-c",
"5",
NULL,
NULL
};
,但我要聲明其十六進制,我將如何做到這一點;編譯器不斷在我身上發現錯誤:
char *something[] = {
{0x2f,0x62,0x69},
{0x2d,0x63},
{0x35},
{0x00},
{0x00}
};
添加其他內容到此,是0x00總是空?例如,在NULL爲-1的系統上,0x00總是轉換爲NULL?
爲了回答編輯,可以使用任何計算爲「0」的整數常量表達式(例如,'0','0x0','1-1')作爲空指針常量。 – 2010-05-22 19:16:54
你確實意識到你的兩個代碼片段不一樣嗎? ''「-c」'等同於'{0x2d,0x63,0x00}'。最後兩項在第一個例子中是空指針,而在第二個例子中是指向空字符串的指針。 – JeremyP 2010-05-22 22:24:24
其實,我的評論的第二部分可能是錯的。 – JeremyP 2010-05-22 22:25:40