我正在学习C.我需要定义一个函数来将类型为void *
的值转换为所需的类型。我不确定我是否完全明白我需要做什么。这是我的尝试。有人可以看一下,让我知道它是否正确?如果不是,我该如何解决它?预先感谢您的时间。我该如何输入cast void *?
void print_type(TYPE a)
{
void *v_ptr;
v_ptr = &a;
}
我正在学习C.我需要定义一个函数来将类型为void *
的值转换为所需的类型。我不确定我是否完全明白我需要做什么。这是我的尝试。有人可以看一下,让我知道它是否正确?如果不是,我该如何解决它?预先感谢您的时间。我该如何输入cast void *?
void print_type(TYPE a)
{
void *v_ptr;
v_ptr = &a;
}
在C中,void *
隐式地与任何数据指针类型兼容。如果你有一个POSIX实现,那么它也和函数指针兼容。不需要类型转换;相反,it's even considered harmful。
+1。我也在想«无效的价值*到所需的类型»...不知道如果只是一个关于将指针转换为'uintptr_t'或类似的问题的坏描述: - > – 2013-05-08 20:15:08
@VladLazarenko谢谢。那么,如果我很好地理解了这个问题,那么这就是OP正在寻找的东西...... – 2013-05-08 20:16:00
不需要对'C'中的'void *'进行任何转换。 – VoidPointer 2013-05-08 20:07:26
@VoidPointer nomen est omen。 – 2013-05-08 20:13:26
我也不太清楚你需要做什么,你能否显示这个要求?通常如果你想从'void * ptr'转换为另一种类型,你只需要写'(type)ptr'。 – 2013-05-08 20:21:37