下面的结构定义是在我的头文件中定义的
typedef struct REMDEV_ADDR {
UINT8 addr[DEVICE_ADDR_SIZE];
} RemDev_Addr;
typedef RemDev_Addr BTDEV_ADDR;
现在我要使用以下函数。
hci_acl_connect(UCHAR * bd_addr,UINT16 * handle);
所以我在我的c文件中创建了上述结构的全局实例
BTDEV_ADDR hsu_addr
像这样调用函数
hci_acl_connect((unsigned char *)&hsu_addr,&cont_hand);
排字是否正确“(无符号字符*)&hsu廑addr”?
最佳答案
当然可以。变量位于堆栈上,但需要提供一个指针,因此可以使用&your_var
。你需要一个指向UCHAR
的指针,所以你可以转换:(UCHAR *)&your_var
。
铸件本身是可以的,但是我们不知道UCHAR * bd_addr
应该代表什么或许你应该通过your_var.addr
?
关于c - 将int类型转换为char *,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38474881/