C语言中函数参数的个数感想

今天编写一个函数,需要传的参数比较多,算起来也有11个,突发奇想,一个函数能允许接收几个参数,还是没有限制,但是这样会影响函数的效率吗?带着所惑,在网上找了一些资料,最后对函数加了结构体进行改造。如有一些建议或还未考虑到的地方,还请相互指教。

   一个函数的参数的数目没有明确的限制,但是参数过多(例如超过8个)显然是一种不可取的编程风格。参数的数目直接影响调用函数的速度,参数越多,调用函数就越慢。另一方面,参数的数目少,程序就显得精练、简洁,这有助于检查和发现程序中的错误。因此,通常应该尽可能减少参数的数目,如果一个函数的参数超过4个,你就应该考虑一下函数是否编写得当。

   如果一个函数不得不使用很多参数,你可以定义一个结构来容纳这些参数,这是一种非常好的解决方法。

实例:

   原函数:int insert_history(int h,int l,int m,int i,int total,...);

优化后:

    typedef struct{
        int h; /*High risk*/
        int l; /*Low risk*/
        int m; /*Middle risk*/
        int i; /*Information risk*/
    }risk;
    int insert_history(risk level,long int total,....);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值