首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C、C++和C#中,空是什么意思?

在C、C++和C#中,空是什么意思?
EN

Stack Overflow用户
提问于 2009-06-25 10:04:32
回答 10查看 392.1K关注 0票数 175

希望了解" void“一词的基本原理,以及它为什么被称为void。这个问题的目的是为了帮助那些没有C经验的人,他们突然开始考虑基于C的代码库。

EN

回答 10

Stack Overflow用户

发布于 2009-06-25 10:40:09

代码语言:javascript
复制
void foo(void);

代码语言:javascript
复制
void *bar(void*);

第一个指示没有参数被传递或者没有参数被返回。

例如,在Linux kernel中,当延迟工作时,您将设置一个稍后运行的函数,方法是给它一个指向要运行的函数的指针和一个指向要传递给该函数的数据的指针:

代码语言:javascript
复制
struct _deferred_work {
sruct list_head mylist;
.worker_func = bar;
.data        = somedata;
} deferred_work;

然后,内核线程遍历延迟工作列表,当它到达该节点时,它将有效地执行:

代码语言:javascript
复制
bar(somedata);

然后在酒吧里你会看到:

代码语言:javascript
复制
void bar(void* mydata) {
    int *data = mydata;
    /* Do something with data */;
}
票数 14
EN

Stack Overflow用户

发布于 2009-06-25 10:06:52

意思是“没有价值”。使用void表示函数不返回值或没有参数,或者两者兼而有之。与单词void在英语中的典型用法非常一致。

票数 13
EN

Stack Overflow用户

发布于 2009-06-25 10:15:38

它表示函数中没有返回值。

有些语言有两类子例程:过程和函数。过程只是一个操作序列,而函数是返回结果的操作序列。

在C及其派生语言中,两者之间的区别是不明确的。一切基本上都是一个函数。void关键字表明它不是“实际”函数,因为它不返回值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1043034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档