什么时候用void函数(void函数)

导读 【void的含义】  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。  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 int c1, c2, c3; void fun(long n){ c1 = c2 = c3 = 0; 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", c1, c2, c3); //输出}。

免责声明:本文由用户上传,如有侵权请联系删除!