C 语言 中的 void 用来表示无类型,表示 “没有任何值可以获得”。因此,不可以采用这个类型声明 变量 或 常量。C 语言中的 void 可以用于修饰 函数 或者 指针。
void func_name(paramlist)
{
[return;]
}
参数 | 描述 |
---|---|
void | 表示函数没有任何返回值。 |
func_name | 函数名。 |
paramlist | 函数的参数列表。 |
return | 可选,使用 void 修饰的函数不可以有返回值,因此,return 后面不可以加值或变量。 |
使用 void 修饰函数的返回值,表示该函数不返回任何值,因此,函数最后可以不加 return,如果加了 return,那么 return 后面也不可以加任何值。
void func_name(void)
{
[return;]
}
参数 | 描述 |
---|---|
void | 表示函数没有任何返回值。 |
func_name | 函数名。 |
void | 函数没有任何参数。 |
return | 可选,使用 void 修饰的函数不可以有返回值,因此,return 后面不可以加值或变量。 |
使用 void 修饰函数的参数,表示函数不接受任何参数。
void *ptr;
参数 | 描述 |
---|---|
void | 定义了一个万能指针类型。 |
ptr | 指针变量名。 |
void 指针表示该指针可以接受任何类型的变量的地址。
使用 void 修饰函数返回值
#include <stdio.h>
void printAge(int age)
{
printf("Age = %d\n", age);
}
int main(int argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
printAge(18);
}
程序运行后,控制台输出如下:
我们定义了一个函数 printAge,该函数的返回值是 void,接受一个 int 类型的参数,因为函数是 void 修饰的,因此,该函数不可以返回任何值。
使用 void 修饰指针
#include <stdio.h>
int main(int argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
int age = 18;
void *ptr = &age;
printf("Age = %d, ptr = %p\n", age, ptr);
}
程序运行后,控制台输出如下:
我们定义了一个 void 指针 ptr,void 指针可以保存任何变量的地址。
使用 void 修饰函数参数
#include <stdio.h>
void printInfo()
{
printf("Hello HaiCoder\n");
}
int main(int argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
printInfo();
printInfo("HaiCoder");
}
程序运行后,控制台输出如下:
我们定义了一个函数 printInfo,该函数没有任何的参数,我们第一次调用该函数时,没有传入任何参数,第二次调用时,传入了一个参数。
我们看到,两次调用该函数,程序都没有报错,因为,在 C 语言中,函数定义的参数列表没有任何参数,表明可以传入任何参数。现在,我们将程序修改如下:
#include <stdio.h>
void printInfo(void)
{
printf("Hello HaiCoder\n");
}
int main(int argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
printInfo();
printInfo("HaiCoder");
}
程序运行后,控制台输出如下:
我们使用 void 修饰了函数的参数,此时,再次运行程序,我们发现,当我们传入参数时,程序报错,因此,如果函数不接受任何参数,最好使用 void 修饰。
C 语言中的 void 用来表示无类型,表示 “没有任何值可以获得”。因此,不可以采用这个类型声明变量或常量。C 语言中的 void 可以用于修饰函数或者指针。