我最近开始学习C语言,并且已经注意到函数“void()”,但是,我想知道它的作用,它是最好的应用点,也许是虚空的替代品,可能更具生产力。谢谢。
答案 0 :(得分:4)
没有名为void
的函数,但可以使用返回类型void
声明函数。这意味着该函数不返回值。
void DoSomething(...)
{
....
}
<强>更新强>
void
也可用于向编译器指示该函数不接受任何参数。例如,
float CalculatePi(void)
{
....
}
答案 1 :(得分:4)
void
有三种用途:
声明函数不返回值:
void foo(int x);
声明函数不接受参数:
int baz(void);
(DANGER WILL ROBINSON!)要声明一个“通用指针”,可以传递给它,例如一个神奇的cookie,或者在回调中交给某人,然后再回到原来的类型。
int register_callback(void (*foo)(void *baz), void *bar);
register_callback
,该函数期望作为参数的指针可能意味着它的某些东西。在将来的某个(未指定的)时间,将调用该函数,以bar为参数。你会在某些类型的嵌入式管理人员和可重复使用的设备驱动程序中看到这种情况,尽管在任何地方都没有。
答案 2 :(得分:1)
当void
作为函数参数有用时?
#include "stdlib.h"
#include "stdio.h"
void foo();
int main()
{
foo(5); // Passing 5 though foo has no arguments. Still it's valid.
return 0;
}
void foo()
{
printf("\n In foo \n") ;
}
在上面的代码片段中,尽管foo()
原型没有参数,但仍然可以将某些内容传递给它。所以,为了避免这种情况发生 -
void foo(void) ;
现在可以保证将任何内容传递给foo()
都会产生编译错误。
答案 3 :(得分:0)
我认为没有void()函数。
但是,void
关键字用于表示函数不返回任何内容,例如:
void MyFunction() {
// function body here
}