将 void 指针转换为结构体

标签 c casting void

我开始对 C 感到满意,然后我遇到了类型转换。如果我在 *.h 文件中定义了以下内容

struct data {
    int value;
    char *label;
};

这在另一个 *.h 文件中

# define TYPE      void*

如何将 void 指针转换为结构,以便可以使用传递到函数中的变量“TYPE val”?例如,如果我想利用 TYPE val 指向的值,如何转换它以便可以将该值传递给另一个函数?

最佳答案

(struct data*)pointer

会将指向 void 的指针转换为指向结构数据的指针。

关于将 void 指针转换为结构体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946344/

相关文章:

C++ void 作为函数调用的前缀。例如。 `main() {void func();}`

c - 编写 C 主函数

c - 简单的文件传输

c - 如何使用 OpenSSL 库生成大素数?

c - 在 Linux 中使用声卡。理解第一个例子(为什么不是 UB?)

java - 类型转换后的比较

C:返回 void 与从子函数返回 double *

c - Linux C 文件的 md5sum

c++ - 将 shared_ptr<Derived> 作为 shared_ptr<Base> 传递

c# - 整数包含使用 Linq