什么是';静态无效*';在C中?

什么是';静态无效*';在C中?,c,static,void,C,Static,Void,我是C新手,最近在学习zeromq(与工作相关)时,我有点困惑于静态void*: ... static void * worker_task(void *args) { ... 那句话的确切意思是什么?我试图寻找答案,我认为这是一个指针,但这有点奇怪,因为指针通常在“*”后面有一个变量名 非常感谢,我希望我问这个看似“新手”的问题不会太粗鲁 函数worker\u任务返回一个void* 函数定义前面的static关键字意味着函数只能在当前编译单元内部查看,即给定的目标文件,通常从一个源文件和多个

我是C新手,最近在学习zeromq(与工作相关)时,我有点困惑于静态void*:

...
static void *
worker_task(void *args)
{
...
那句话的确切意思是什么?我试图寻找答案,我认为这是一个指针,但这有点奇怪,因为指针通常在“*”后面有一个变量名


非常感谢,我希望我问这个看似“新手”的问题不会太粗鲁

函数
worker\u任务
返回一个
void*


函数定义前面的
static
关键字意味着函数只能在当前编译单元内部查看,即给定的目标文件,通常从一个源文件和多个包含文件构建。从可能与包含此函数的对象文件链接的其他对象文件中看不到该函数。

函数
worker\u任务
返回一个
void*


函数定义前面的
static
关键字意味着函数只能在当前编译单元内部查看,即给定的目标文件,通常从一个源文件和多个包含文件构建。从可能与包含此函数的对象文件链接的其他对象文件中看不到该函数。

注意,两行之间的分隔没有任何效果。该示例与一行上的
静态void*worker\u任务(void*args)
相同。噢,我还以为这是两行分开的呢!非常感谢您的回答。请注意,两行之间的分隔没有任何影响。该示例与一行上的
静态void*worker\u任务(void*args)
相同。噢,我还以为这是两行分开的呢!非常感谢你的回答。我认为这个答案有点草率。如果函数出现在头文件中,那么它对包括该头文件在内的任何人都是“可见”的,但它在每个翻译单元中都是一个单独的实体。关键是
static
使函数名具有内部链接。我认为这个答案有点马虎。如果函数出现在头文件中,那么它对包括该头文件在内的任何人都是“可见”的,但它在每个翻译单元中都是一个单独的实体。关键是
static
使函数名具有内部链接。