c语言 void函数怎么调用【void的含义】
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据 。
void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,void真正发挥的【作用】在于:
(1) 对函数返回的限定;
(2) 对函数参数的限定 。
我们知道,在定义函数时,加在函数名前的“void”表示该函数没有返回值 。但在调用时,在函数名前加“(void)”的作用又是什么呢?
最明显的一点就是表示程序并不关心调用该函数后的返回值是什么,比如函数strcpy , 我们直接用“strcpy(des_str, src_str);”这样的形式来调用 。“(void)strcpy(des_str, src_str);”这样的形式还真不多见!
原因是这种写法不针对人,也不针对编译器,而是针对静态代码检测工具 , 它会把函数返回值作为一项检测标准 。在某些大公司,比较重视代码规范,若在代码静态检测时需要检测该项 。此时就需要用在被调用的函数(名)前加上“(void)”这种形式来告诉静态代码检测工具程序并非没有处理该函数的返回值,而是该处确实不需要处理它(该函数的返回值),不需要再对该处代码作此项检测 。其实这和我们在代码中使用“#pragma warning (disable: XXXX)”的道理是一样的 。
l例如: 统计整数里面各位 1 2 3 的个数
//***************************************************
#
include stdio.h
int c1, c2, c3;
void fun(long n)
{
c1 = c2 = c3 = 0;
【c语言调用函数void c语言调用函数的头文件】while (n != 0)
{
switch (n % 10)
{ case 1:
c1;
break;
case 2:
c2;
break;
case 3:
c3;
}
n /= 10;
}
}
int main()
{ long n;
scanf("%ld", n); //输入整数n
fun(n); //调用自定义函数fun
printf("C1=%d C2=%d C3=%d\n", c1, c2, c3); //输出
}
c语言调用void函数你在main函数中c语言调用函数void的这一行语句void equation(double a,double b,double c);是函数的声明不是调用改为equation(a,b,c);就行c语言调用函数void了
c语言中void什么意思?具体怎么用?void的字面意思是“无类型”,void *则为“无类型指针” , void *可以指向任何类型的数据 。void只有“注释”和限制程序的作用 。void的作用在于对函数返回的限定和对函数参数的限定 。
例如:float *p1;int *p2;p1 = p2;
其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”,必须改为:p1 = (float *)p2;
而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:
void *p1;int *p2;p1 = p2;
扩展资料
void类型在c开发中常见的用法有2种:
1、作为函数的返回值,如void add(int x,int y);表示该函数吴返回类型,不需要返回值 。
2、使用void*指针来使用 , 比如作为函数的参数类型,如: int max(void* param);--此时的void*表示可以使用任何类型的参数进行转换 。如
int a = 10;//普通类型
max((int)a);
typedef struct{int a;}str;//结构体
str S1 ;
S1.a = 2;
max((str)S1);
参考资料来源:百度百科——void
关于c语言调用函数void和c语言调用函数的头文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 网络ftp服务器,ftp服务器填什么
- jquery显示在input里面的简单介绍
- java代码复制代码,java 复制
- 用chatgpt写论文被抓,论文数据抄袭别人的可以查出来吗
- oracle数据库表怎么 oracle数据库如何
- jquery正则表达正整数,jquery replace 正则
- 450m无线路由器怎么设置,450m无线路由器怎么设置?手机
- 如何写新媒体工作简历模板,如何写新媒体工作简历模板图片
- oracle19如何安装 oracle 19安装