当某些内容被转换为void时,该值将变为NULL
。但是,为什么void *指向任何数据类型?虚空指针不应该没用吗?
答案 0 :(得分:6)
void指针是指向任何东西的指针。它是一个没有特定类型的通用指针。它也可以具有值NULL
,在这种情况下它不指向任何东西。
要使用void指针,您必须跟踪它实际指向的内容以及何时使用它,您必须将其强制转换为适当的类型。
它们可能很危险,因为如果将它强制转换为错误类型,则会在运行时导致未定义的行为。
答案 1 :(得分:3)
当某些内容被转换为void时,该值将变为NULL。
不正确。指出的数据没有任何反应。
不应该使用无效指针吗?
void指针是C与"泛型类型"最接近的东西。并且非常有用,它允许像某些通用函数,有些通用容器等等。
答案 2 :(得分:2)
void *
是一个通用对象指针。请注意,没有通用函数指针。
您可以将任何对象指针值转换为void *
并返回而不会丢失值。