我有代碼看起來像這樣:哈希限定到數組的第一元素引起的空點例外
char* talk[516] = {(char*)1};
#define testValue (*(int*)talk[0])
我收到一個空指針異常時下面的代碼行,然後調用。
testValue = 0;
這是爲什麼? talk[]
的全部值是否已初始化?
EDIT
我想要做的是,存在存儲在char*
陣列516倍的值(float
S和int
S)。 testValue
應該指向存儲在數組的第一個元素中的int
值。下一個值可能是#define testValue2(*(float*)talk[1])
。
因爲'talk'的所有元素(即char *')都是用值'0'(即空指針)初始化的。 – songyuanyao
如果我將該值設爲1,則得到相同的錯誤。 –
我更新了問題以更好地反映此問題。 –