我需要知道函数有void *参数时的含义。例如:
function(void * param){}
答案 0 :(得分:5)
这是一个接收void*
的函数。这可以用于在C中传递任何类型的指针。
一个很好的例子是pthread_create
函数和pthread启动例程。
但是,请注意,如果未指定返回类型,则默认返回int
,而不是示例。
答案 1 :(得分:2)
void *
是指向任何数据的指针,即指向未知或未指定类型的数据。
答案 2 :(得分:1)
param
是一个void指针,指的是指向任何数据类型的指针。您可以调用泛型类型指针。
e.g。
func(void *param)
{
// body
}
这样打电话:
char* cptr;
int* iptr;
float* fptr;
func(cptr);
func(iptr);
func(fptr);
答案 3 :(得分:1)
param
具有类型void *
,其在C中用作“通用”指针类型;任何对象指针类型都可以转换为void *
,反之亦然,而无需显式转换(某些实现允许将函数指针类型转换为void *
,但这不是通用的,不能通过语言标准保证)。
请注意,void
指针可能无法解除引用,因此您无法在函数体中执行x = *param
之类的操作。您必须将指针转换为其他类型,例如int *
或double *
或其他任何类型,以获得它所指向的内容。这取决于function
应该用它做什么。
答案 4 :(得分:0)
它表示void *(对void的引用)类型的参数,它是内存位置的大小。你可以用它来引用任何内存位置,这在实践中是任何东西。