c语言里void什么作用,c语言中void的含义是什么?如何使用?

c语言里void什么作用,c语言中void的含义是什么?如何使用?c语言中void的含义是什么?如何使用?发布时间:2020-04-2614:08:27来源:亿速云阅读:416作者:小新c语言中void的含义是什么?如何使用?相信有很多人都不太了解,今天小编为了让大家更加了解c语言中void,所以给大家总结了以下内容,一起往下看吧。c语言中void的含义1、void的含义:void的字面意思是“无类型”,void*则为“无类型指针”,void*可以指向任何…

大家好,又见面了,我是你们的朋友全栈君。

c语言中void的含义是什么?如何使用?

发布时间:2020-04-26 14:08:27

来源:亿速云

阅读:416

作者:小新

c语言中void的含义是什么?如何使用?相信有很多人都不太了解,今天小编为了让大家更加了解c语言中void,所以给大家总结了以下内容,一起往下看吧。

c语言中void的含义

1、void的含义:

void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。

void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;

这行语句编译时会出错,提示“illegal use of type ‘void’”。不过,即使void a的编译不会出错,它也没有任何实际意义。

2、void的使用规则:

规则一:如果函数没有返回值,那么应声明为void类型

在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:add ( int a, int b )

{

return a + b;

}

int main(int argc, char* argv[])

{

printf ( “2 + 3 = %d”, add ( 2, 3) );

}

程序运行的结果为输出:2 + 3 = 5,这说明不加返回值说明的函数的确为int函数。

规则二:如果函数无参数,那么应声明其参数为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++中,不能向无参数的函数传送任何参数,出错提示“’fun’ : function does not take 1 parameters”。

所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。

3、void具体使用例子:

定义函数返回值 函数名(参数1,参数2,参数3,…….)

{内容}

int sum(int a,int b)

int c;

return c;}

其中第一个int是返回值 就是别的函数调用此函数时这个函数给他的一个值。

如果调用时不需要返回值,则函数写为

void sum(int a,int b){….}  此时函数没有返回值

如果不需要参数  则int sum(void){…}

此时void的意义为空,就是没有参数的意思

如果都不要  则为void sum(void);

关于c语言中void的含义是什么?如何使用就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144556.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql longtext 查询_mysql中longtext存在大量数据时,会导致查询很慢?

    mysql longtext 查询_mysql中longtext存在大量数据时,会导致查询很慢?一个表,1.5w条数据,字段:id,name,content,last_update_timeid,自定义主键name,varchar类型content是longtext类型,last_update_time为datetime类型,不为空content当中是文本和代码等,平均长度在20k+。case1:selectid,namefromtorderbylast_update_tim…

    2022年5月14日
    47
  • mysql 修改 表名 列名 为小写

    mysql 修改 表名 列名 为小写表名改为小写SELECTCONCAT(‘ALTERTABLE’,table_name,’RENAME’,LOWER(table_name),”;”)ASstatementFROMinformation_schema.TABLESWHEREtable_schema=’数据库’ANDtable_nameLIKE’表名%’;列名改为小写SELECTconcat(‘altertable’,TABLE_…

    2022年5月31日
    33
  • sched://task scheduler_Task Scheduler

    sched://task scheduler_Task SchedulerSpringBoot自带的任务调度是如何实现的?@EnableScheduling@Scheduled注解在任务调度的实现中承担了怎样的角色?ScheduledAnnotationBeanPostProcessor是如何工作的?都参与了ApplicationContext生命周期的哪些环节?调度是通过TaskScheduler实现的,默认的TaskScheduler是怎么创建的?我们如何通过SchedulingConfigurer创建自己的TaskScheduler?

    2022年10月11日
    4
  • SCI期刊Cover Letter写法模板

    SCI期刊Cover Letter写法模板一、写法投稿信(CoverLetter)应该简述所投稿件的核心内容、主要发现和意义,拟投期刊,对稿件处理有无特殊要求等(如“nottoreview”list)。另外,请附上主要作者的中文姓名、通讯地址、电话、传真和e-mail地址。此外有的杂志要求推荐几位审稿人及其联系方式。以及谁已经阅读过该文(当然是牛人)。一般来说,杂志通常要求说明你论文研究的意义,以及与这个杂志的相关性,另外还…

    2022年4月28日
    53
  • substance painter anchor point快速教程

    substance painter anchor point快速教程这个功能方便在substancepainter里通过normal和height实时影响污迹图来做细节但是步骤有些略麻烦,下面作为笔记也作为一个小教程首先需要实时绘制的图层必须在污迹图的下面可以在图层上直接绘制右击加上anchorpoint然后需要被影响的图层或是mask里面的generation,必须开启microDetails如果你需要绘制的高度图影响细…

    2022年10月8日
    4
  • Redis客户端安装与安装包

    Redis客户端安装与安装包为了更方便使用Redis,我们经常都会安装一些图像化管理工具,Redis的客户端工具其实也挺多的,但总体来说,使用效果比较好的,我觉得这个比较好。以下简单简述安装课程。首先双击打开安装文件“Redis客户端.exe”:点击“Next”进行下一步:点击”IAgree“,进行下一步: 可根据自己的要求修改安装路径,然后点击“Install”,进行下一步: 安装中,大概几秒中就可以安装完毕: 点击“Next”,进行下一步: …

    2022年5月13日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号