void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。void真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数的限定。扩展资料:C语言基本数据类型void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)char:字符型类型数据,属于整型数据的一种。(K&R时期引入)int:整型数据,表示范围通常为编译器指定的内存字节长。(K&R时期引入)float:单精度浮点型数据,属于浮点数据的一种。(K&R时期引入)double:双精度浮点型数据,属于浮点数据的一种。(K&R时期引入)_Bool:布尔型(C99标准新增)_Complex:复数的基本类型(C99标准新增)_Imaginary:虚数,与复数基本类型相似,没有实部的纯虚数(C99标准新增)_Generic:提供重载的接口入口(C11标准新增)类型修饰关键字short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)signed:修饰整型数据,有符号数据类型。(C89标准新增)unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)