我下面的代码给我一个警告:如何解决编译器错误“:警告:分配使得整数指针不进行强制转换”
警告:分配使得整数指针,未作类型转换“:
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