c - 有什么方法可以比较两个 void 指针以在 C 中声明相同的类型吗?

标签 c pointers assert void

我正在学习 C 并尝试在 C 中粗略地实现一个链表。长话短说,我有一个只包含一个空指针(元素)和另一个指向下一个节点的指针的结构。(代码遵循)我的问题是,将头节点和其他节点传递给新函数时,有什么办法可以确保这两个元素的类型相同?这两个节点应该能够保存任何类型的数据。我尝试与 sizeof() 进行比较,但无法引用 void 指针。提前致谢!

struct Node{
    void* element;
    struct Node* next;
}

这是节点的代码,我只需要一种方法将它们与断言进行比较,以确保链表具有所有相同的元素类型!谢谢!

最佳答案

不——您通常希望避免这样的设计,但如果您真的无法避免,您通常需要在节点中放置一个枚举来告诉您它包含的数据类型。

关于c - 有什么方法可以比较两个 void 指针以在 C 中声明相同的类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9781477/

相关文章:

java - 正则表达式查找不完整的 Java 断言

c - 我为 C 编程作业创建的 system.h 文件是否有可能给我的操作系统带来问题?

c - Arduino Due Sam3X8E 访问定时器值

c++ - 分配指针时出现段错误

php - PHP 全局变量可以设置为指针吗?

c - 如何将 strtok 返回的指针中的数据存储到结构中而不丢失?

C getline 函数不按指定读取行

c - Unicode 转义序列与十六进制值

ruby-on-rails - Rails:Test::Unit 为什么我需要在任何其他断言之前断言某些内容是有效还是无效

ruby-on-rails - 如何在 Rails 测试中测试 params 散列?