扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言程序中,若函数无返回值,则应该对函数说明的类型是void。
为柳河等地区用户提供了全套网页设计制作服务,及柳河网站建设行业解决方案。主营业务为成都做网站、网站建设、柳河网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
如果函数所体现的计算不需要返回结果,则数据类型可以指定为void类型。
注意,这种情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
扩展资料
使用void类型指针要注意的几条规则:
1、void*类型只有地址信息没有类型信息,所以不能计算偏移。
C/C++中的指针通常来说有两个属性:
(1)指向变量
(2)指向对象的地址和长度
指针其实就是存储被指向变量的地址,并不保存其长度;而且存的这个地址仅是变量的首地址,并不是该变量占据内存的所有地址空间。
2、任何指针(包括函数指针)都可以赋值给void指针。
特点:
(1)不需要类型转换;
(2)只获得变量/对象地址而不获得大小。
3、void指针赋值给其他类型的指针时都要进行转换。
特点:转换类型也就是获得指向变量/对象大小。
4、void指针在强制转换成具体类型前,不能解引用。
原因:void指针只知道指向变量/对象的起始地址,而不知道指向变量/对象的大小(占几个字节)所以无法正确引用。
5、void指针不能参与指针运算,除非进行转换。
没有返回类型是不对的,任何函数都有返回值,只不过可以返回void型(不能完全等同于没有返回值,因为必须注明void),如果定义函数时缺省返回值类型,则默认int型。
无返回值的函数,只进行某种操作。
有返回值的函数,可以将某个变量或指针返回其调用函数。
两者形式上的区别如下:
无返回值:void
fun1();
有返回值:int
fun2();
调用的区别:
无返回值:
main()
{
……
fun1();
……
}
有返回值:
main()
{
int
a;
……
a=fun2();
……
}
如果函数没有返回值,那么应定义为void类型。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义,不妨试着定义:
void的作用在于:
1、对函数返回的限定:如果函数没有返回值,那么应声明为void类型。
2、对函数参数的限定:如果函数无参数,那么应声明其参数为void;如果函数的参数可以是任意类型指针,那么应声明其参数为void *。
扩展资料:
void的使用举例:
在C++语言中声明一个这样的函数:
int function(void)
{
return 1;
}
则进行下面的调用是不合法的:
function(2);
因为在C++中,函数参数为void的意思是这个函数不接受任何参数。
在Turbo C 2.0中编译:
#include "stdio.h"
fun()
{
return 1;
}
main()
{
printf("%d",fun(2));
getchar();
}
编译正确且输出1,这说明,在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。在C++中,不能向无参数的函数传送任何参数。
所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。
参考资料来源:百度百科-void
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流