C语言函数的参数能允许几个

来源:互联网 发布:淘宝网毛呢女装中长款 编辑:程序博客网 时间:2024/06/06 07:12

   今天编写一个函数,需要传的参数比较多,算起来也有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,....);

原创粉丝点击