1、void
void 的字面意思是“空类型”, void *则为“空类型指针”, void *可以指向任何类型的数据。
如果函数没有返回值,那么应声明为 void 类型。
如果函数无参数,那么应声明其参数为 void
千万小心又小心使用 void 指针类型
任何类型的指针都可以直接赋值给void *,但void *不可以无需强制类型转换地赋给其它类型的指针。
按照 ANSI(American National Standards Institute)标准,不能对 void 指针进行算法操作。GNU(GNU’s Not Unix 的递归缩写)则不这么认定,它指定 void *的算法操作与 char *一致,在实际的程序设计中,为符合 ANSI 标准,并提高程序的可移植性,我们可以这样编写
实现同样功能的代码:
void * pvoid;
(char *)pvoid++; //ANSI:正确; GNU:正确
如果函数的参数可以是任意类型指针,那么应声明其参数为 void *
void 不能代表一个真实的变量
因为定义变量时必须分配内存空间,定义 void 类型变量,编译器到底分配多大的内存呢
作者:Aladdin Wang
程之
对象
关键字
面向对象
面向对象编程
c+
C++
关键