我正在学习 C 并尝试在 C 中粗略地实现一个链表。长话短说,我有一个只包含一个空指针(元素)和另一个指向下一个节点的指针的结构。(代码遵循)我的问题是,将头节点和其他节点传递给新函数时,有什么办法可以确保这两个元素的类型相同?这两个节点应该能够保存任何类型的数据。我尝试与 sizeof() 进行比较,但无法引用 void 指针。提前致谢!
struct Node{
void* element;
struct Node* next;
}
这是节点的代码,我只需要一种方法将它们与断言进行比较,以确保链表具有所有相同的元素类型!谢谢!
最佳答案
不——您通常希望避免这样的设计,但如果您真的无法避免,您通常需要在节点中放置一个枚举来告诉您它包含的数据类型。
关于c - 有什么方法可以比较两个 void 指针以在 C 中声明相同的类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9781477/