C/C++语言void及void指针深层探索 void是一个非常重要的关键字在C/C++语言中,它的设计哲学蕴藏着丰富的思想。作为一名程序设计人员,对void的理解和使用正确性直接影响到程序的正确性和可读性。 1. void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语句编译时会出错,提示“illegal use of type 'void'”。 2. void的使用规则 规则一:如果函数没有返回值,那么应声明为void类型。在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。 规则二:如果函数无参数,那么应声明其参数为void。在C++语言中声明一个这样的函数:int function(void){return 1;}则进行下面的调用是不合法的:function(2); 规则三:小心使用void指针类型按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作,即下列操作都是不合法的:void * pvoid;pvoid++; //ANSI:错误pvoid += 1; //ANSI:错误 3. void指针的使用 void指针是一个非常有用的工具,它可以指向任何类型的数据。void *可以直接赋值给它,无需进行强制类型转换:void *p1;int *p2;p1 = p2;但是,void *也不能无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。 void是一个非常重要的关键字在C/C++语言中,它的设计哲学蕴藏着丰富的思想。正确地理解和使用void关键字可以使我们的程序更加正确、可读和高效。
- 粉丝: 6
- 资源: 936
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助