下面的结构定义是在我的头文件中定义的

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/

10-11 19:44