C-函数称为void* foo()



我在O.S书中遇到了这个代码:

void *foo()
{
     // does something
     pthread_exit(NULL);
}

void *foo的含义是什么?这是否意味着该函数返回指针到类型void

no,这意味着该函数返回 untyped type - void*的指针。

这是一种"通用"指针类型。任何指向数据的指针都可以将其投放到void*,然后返回到呼叫者。但是,为了 deReference 指针,您必须将其施加到非空线指针类型(int*long*char*等)。

void *表示它返回某种类型的指针,未指定哪个。为了使用,将指针铸成适当的类型,然后使用。void *foo只是间距的事实。

查看此说明

最新更新