假设我们有一个struct“message_t”:铸造void指针,以结构
message_t *msg;
如果一个函数返回一个空指针可以在我们只需要把地址分配给味精,还是我们需要转换指针?:
void *data;
msg = data;
我见过这里的“数据”将被转换为message_t
箱子,但是这似乎并没有完全必要的,所以在这种情况下,你会怎么做呢?
当然指针类型(message_t)应该足以告诉编译器如何取消引用指针(即多少个字节在struct需要第一可变,等等)。
让我知道如果我的问题不明确。
如果不解除引用指针,则不能将指针转换为结构。您可以将它转换为指向结构的指针('message_t *')。 –
演员实际上做了什么? – user3163179
您不能只将一个类型的指针投射到另一个类型的指针。你是如何获得'void *'的?阅读[问]并提供[mcve]。 – Olaf