我下面的代碼給我一個警告:如何解決編譯器錯誤「:警告:分配使得整數指針不進行強制轉換」
警告:分配使得整數指針,未作類型轉換「:
uint16_t b[4];
uint16_t *g_00;
uint16_t *g_01;
uint16_t *g_10;
uint16_t *g_11;
b[0] = g_00;
b[1] = g_01;
b[2] = g_10;
b[3] = g_11;
printf ("add = %x\n", b[0]);
我的意思是使用b[0]... b[1]
挽救uint16_t *g_00;
我怎樣才能解決這個編譯器警告地址?
如果你想'B'保存的地址也將需要地址的大小。不知道爲什麼你不會爲b使用'uint16_t *':'uint16_t * b [4]'。 –
如果他想「保存'uint16_t * g_00'的地址」,它應該是'uint16_t ** b [4]';如果他想保存'uint16_t * g_00'的*值*,它應該是'uint16_t * b [4]'。如果你想'b'保存一個指針,它需要是一個與指針相同的*類型的對象數組,而不僅僅是指針的* size *;除了'void *',C指針不是泛型地址,它們是指向特定類型的指針。 – 2013-06-26 17:47:07