void *data;
struct port_status *temp;
temp = (struct usb_port_status *)data;
printk("port.Status = 0x%x\r\n",temp[0]);
这样写对吗?data赋值temp那不确定,最后还会死机,谢谢
void *data 是函数参数,上一个传递的参数定义为:struct port_status *data。
其实是一样的结构体,这样不可以吗?
谢谢
void *data 是函数参数,上一个传递的参数定义为:struct port_status *data。
其实是一样的结构体,这样不可以吗?
谢谢
你的意思是函数的形参是void*类型,实参是结构体指针类型,是吧?这样是可以的,任何类型的指针可以直接赋值给void*类型指针,但是要将void*类型的指针赋值给其他类型的指针,你这里是结构体指针,是需要进行强制指针类型转换的。