我从零开始学习C语,因此我没有专业的C语言理解.在C语言中,你不能将无效指针转换为任何东西,我理解其背后的原因.但是,我知道在C中你可以.这有什么可能的原因?它似乎是类型安全的一个巨大漏洞,对我来说,这似乎是一件坏事.
解决方法
您可以将void *转换为两种语言中的另一个指针.也许你含蓄地暗示.
在C中非常方便,不必明确它.在C中我们有模板,所以要编写通用代码,不需要void * cast和诸如此类的东西.在C中没有选择.通用容器必须对对象保持void *,并且重复说mydata * d = node更容易;那么它是mydata * d =(mydata *)node;.
所以它就像你说的那样.在C类型中,安全性一般没有像在C中那样得到重视,特别是当它变为无效时*因为它被认为是一个简单的通用指针.在C中没有必要这样做,所以当你处理它时更好地明确它.