C语言void

C语言void教程

C 语言 中的 void 用来表示无类型,表示 “没有任何值可以获得”。因此,不可以采用这个类型声明 变量常量。C 语言中的 void 可以用于修饰 函数 或者 指针

C语言void修饰函数返回值

语法

void func_name(paramlist) { [return;] }

参数

参数 描述
void 表示函数没有任何返回值。
func_name 函数名。
paramlist 函数的参数列表。
return 可选,使用 void 修饰的函数不可以有返回值,因此,return 后面不可以加值或变量。

说明

使用 void 修饰函数的返回值,表示该函数不返回任何值,因此,函数最后可以不加 return,如果加了 return,那么 return 后面也不可以加任何值。

C语言void修饰函数参数

语法

void func_name(void) { [return;] }

参数

参数 描述
void 表示函数没有任何返回值。
func_name 函数名。
void 函数没有任何参数。
return 可选,使用 void 修饰的函数不可以有返回值,因此,return 后面不可以加值或变量。

说明

使用 void 修饰函数的参数,表示函数不接受任何参数。

C语言void修饰指针

语法

void *ptr;

参数

参数 描述
void 定义了一个万能指针类型。
ptr 指针变量名。

说明

void 指针表示该指针可以接受任何类型的变量的地址。

案例

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); }

程序运行后,控制台输出如下:

78_C语言void.png

我们定义了一个函数 printAge,该函数的返回值是 void,接受一个 int 类型的参数,因为函数是 void 修饰的,因此,该函数不可以返回任何值。

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); }

程序运行后,控制台输出如下:

79_C语言void.png

我们定义了一个 void 指针 ptr,void 指针可以保存任何变量的地址。

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"); }

程序运行后,控制台输出如下:

80_C语言void.png

我们定义了一个函数 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");
}

程序运行后,控制台输出如下:

81_C语言void.png

我们使用 void 修饰了函数的参数,此时,再次运行程序,我们发现,当我们传入参数时,程序报错,因此,如果函数不接受任何参数,最好使用 void 修饰。

C语言void总结

C 语言中的 void 用来表示无类型,表示 “没有任何值可以获得”。因此,不可以采用这个类型声明变量或常量。C 语言中的 void 可以用于修饰函数或者指针。