2013-05-08 45 views
0

我正在学习C.我需要定义一个函数来将类型为void *的值转换为所需的类型。我不确定我是否完全明白我需要做什么。这是我的尝试。有人可以看一下,让我知道它是否正确?如果不是,我该如何解决它?预先感谢您的时间。我该如何输入cast void *?

void print_type(TYPE a) 
{ 
    void *v_ptr; 
    v_ptr = &a; 

} 
+2

不需要对'C'中的'void *'进行任何转换。 – VoidPointer 2013-05-08 20:07:26

+0

@VoidPointer nomen est omen。 – 2013-05-08 20:13:26

+0

我也不太清楚你需要做什么,你能否显示这个要求?通常如果你想从'void * ptr'转换为另一种类型,你只需要写'(type)ptr'。 – 2013-05-08 20:21:37

回答

5

在C中,void *隐式地与任何数据指针类型兼容。如果你有一个POSIX实现,那么它也和函数指针兼容。不需要类型转换;相反,it's even considered harmful

+1

+1。我也在想«无效的价值*到所需的类型»...不知道如果只是一个关于将指针转换为'uintptr_t'或类似的问题的坏描述: - > – 2013-05-08 20:15:08

+0

@VladLazarenko谢谢。那么,如果我很好地理解了这个问题,那么这就是OP正在寻找的东西...... – 2013-05-08 20:16:00

相关问题