希望了解" void“一词的基本原理,以及它为什么被称为void。这个问题的目的是为了帮助那些没有C经验的人,他们突然开始考虑基于C的代码库。
发布于 2009-06-25 10:40:09
void foo(void);
或
void *bar(void*);
第一个指示没有参数被传递或者没有参数被返回。
例如,在Linux kernel中,当延迟工作时,您将设置一个稍后运行的函数,方法是给它一个指向要运行的函数的指针和一个指向要传递给该函数的数据的指针:
struct _deferred_work {
sruct list_head mylist;
.worker_func = bar;
.data = somedata;
} deferred_work;
然后,内核线程遍历延迟工作列表,当它到达该节点时,它将有效地执行:
bar(somedata);
然后在酒吧里你会看到:
void bar(void* mydata) {
int *data = mydata;
/* Do something with data */;
}
发布于 2009-06-25 10:06:52
意思是“没有价值”。使用void
表示函数不返回值或没有参数,或者两者兼而有之。与单词void在英语中的典型用法非常一致。
发布于 2009-06-25 10:15:38
它表示函数中没有返回值。
有些语言有两类子例程:过程和函数。过程只是一个操作序列,而函数是返回结果的操作序列。
在C及其派生语言中,两者之间的区别是不明确的。一切基本上都是一个函数。void
关键字表明它不是“实际”函数,因为它不返回值。
https://stackoverflow.com/questions/1043034
复制相似问题