在 C 中,唯一可以将 void 用作变量类型的情况是它是一个指针。当您不确定要接收什么类型的数据时,它们很方便。
void * somePointer;
这可以用于各种事情。
在不知道类型的情况下引用对象。
处理没有类型的普通内存。Malloc(我相信 C++ 中的 new)返回一个 void 指针,因为此时内存没有类型。
不过尽量不要使用 void 指针,它们通常是远离的好主意。可能会导致错误和头痛。您通常可以找到更好的解决方案。
void 关键字也可以用在函数前面。
void printHello(void)
{
printf("Hello");
}
在这个函数中,我们使用 void 因为它没有返回任何东西。void 函数可以简单地执行我们分配给它们的任何任务而不返回任何内容。我们也不需要将任何数据传递给函数,因此我们在参数中指定 void。
注意:如果您曾经学习过 C++,那么您确实需要牢记关于函数参数的一些事情。
void printHello() // <- This is bad in C, it will take any number of anything practically
{
printf("Hello");
}
如果您不想为 C 传递任何参数,请始终在参数中放置 void。
void printHello() // <- Good in C++, it won't allow any arguments on a call
{
std::cout << "Hello";
}
但是,您不能将 void 用作变量类型,如
void a = 0;
void b = 's';
void c = 5.5
// You can't use void to store anything