什么是c中的方法(void * param)

时间:2013-01-07 19:57:01

标签: c

我需要知道函数有void *参数时的含义。例如:

function(void * param){}

5 个答案:

答案 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的引用)类型的参数,它是内存位置的大小。你可以用它来引用任何内存位置,这在实践中是任何东西。