在我的一个头文件中定义了以下结构定义
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);
类型转换是否正确 "(unsigned char *)&hsu_addr"?
最佳答案
假设您希望函数对结构中的数组 addr
做一些事情,那么就不需要强制转换了。只需传递 addr
成员:
hci_acl_connect(hsu_addr.addr, &cont_hand);
假设 UINT8
和 UCHAR
都是 unsigned char
的别名(这似乎是一个安全的假设)。
关于c - 将 int 类型转换为 char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38474881/