void函数调用时显示不允许使用不完整的_C语言定义无参数的函数时,f()和f(void)有什么区别?...

相信C语言初学者常会在前辈留下的项目,或者一些开源项目中看到以 void 作为参数的函数,例如 void fun(void),虽然我们都明白在C语言中,“void”表示空,但是按理说,如果函数不需要参数,直接空着就行:void fun(),为什么还要多此一举的写上 void 呢?

ab131604efbb9fb380e4e5014142e0be.png

void fun(void),为什么还要多此一举的写上 void 呢?

C语言函数参数的定义方式

大多数C语言教程在谈到自定义函数时,一般都将函数的“参数类型列表”放在“()”中,例如:

void f(int a, float b){ ...}

C语言没有理由将“无参数函数”作为特例处理,因此从“通用性”来看,定义C语言函数时,“()”内应该始终有“参数类型列表”,如果函数不需要使用参数,应该指定为 void,而不是空着。

但是在C语言程序开发中,void fun(); 这种定义函数的方式又的确是可行的,难道C语言真的将“无参数函数”作为特例处理了吗?

5cc165a35853b0b6d75ab2d4e91c26ab.png

难道C语言真的将“无参数函数”作为特例处理了吗?

其实不是的,在C语言中,定义函数时,指定参数还有另外一种方式(标识符列表方式):

void f(a, b) int a; float b;{ ...}

以标识符列表方式定义函数不常见,但的确是可用的,下面是一段完整的测试C语言代码,请看:

#include void f(a, b) int a; float b;{ printf("%d, %f
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值