我有以下情况:
struct Lamp {
char *highAddress [9];
char *lowAddress [9];
bool OnOff;
bool active;
uint8_t power;
uint8_t brightness;
uint8_t temperatures;
uint8_t faultCount;
} ;
struct lamps Lamp [] = {
{ (char *) "0013A200" , (char *) "4094500D" , false, true , 0, 0 , 0, 0 } ,
{ (char *) "0013A200" , (char *) "40B12530" , false, true , 0, 0 , 0, 0 } ,
{ (char *) "11111111" , (char *) "22222222", false , false, 0, 0 , 0, 0 } ,
{ (char *) "33333333" , (char *) "44444444", false , false, 0, 0 , 0, 0 } ,
{ (char *) "55555555" , (char *) "66666666", false , false, 0, 0 , 0, 0 } ,
{ (char *) "77777777" , (char *) "88888888", false , false, 0, 0 , 0, 0 } ,
{ (char *) "99999999" , (char *) "00000000", false , false, 0, 0 , 0, 0 } ,
{ (char *) "AAAAAAAA" , (char *) "BBBBBBBB", false , false, 0, 0 , 0, 0 } ,
{ (char *) "CCCCCCCC" , (char *) "DDDDDDDD", false , false, 0, 0 , 0, 0 } ,
{ (char *) "EEEEEEEE" , (char *) "FFFFFFFF", false , false, 0, 0 , 0, 0 } ,
};
用avr-gcc-C99编译得到的消息如下所示。
可能是什么?
非常感谢你。
多梅尼科
最佳答案
成员highAddress
和lowAddress
是指针数组。只要使它们成为简单的指针(或数组),就可以正常工作:
struct Lamp
{
char *highAddress;
char *lowAddress;
...
};
关于c - 在初始化结构'...期间发出警告,使指针从整数开始而没有强制转换',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20593056/