重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在C语言中,函数的无参用关键字用void表示,如果一个函数的参数为void,当我们调用此函数并给它传递一个参数时,编译器会给出错误的警告,因为你把参数传递给了一个不接受参数的函数。 例: int func(void) { ... } int main(void) { func(5) ; /*It will cause an error .*/ ... return 0 ; } 这里注意一点,在C语言中(而不是C++中),如果函数的参数什么也没有,如int func(),那么此时你调用这个函数的时候放不放参数编译器都不会给出警告,编译器会认为它是可有可无的,但这不是一个好方法,如果函数不需要任何参数,那一定要显式的把void加到参数列表里。 参数是什么呢,比如f(x) = 5x + 3 ;这里的x就是参数(可理解为做为参照的数),是形参,f(5)会得出一个值,f(10)又会得出一个值(显然这是个双射函数,呵呵),那么这里的5 , 10都是实参(实际传递的参数),实参会替换形参的位置。 如: int func(int a , int b) { return a + b ; } 其中a , b是形参,调用时 func(5,6) ; 那5 , 6就是实参,函数得到实参后会替换原来形参的位置,相当于将5和6相加并返回结果。
目前创新互联公司已为上1000+的企业提供了网站建设、域名、虚拟主机、网站托管运营、企业网站设计、环翠网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
这是C的语法规定的,函数名的后面一定要带括号。但括号里面不一定带有参数。这要根据你的函数是否需要参数接口而定,像main()这个入口函数它就不需要用户传递任何参数给它,所以就没有提供参数接口(其实main是有带有参数接口的,用来存放命令行的参数,原型请自己在网上找)。而average函数是一个求平均数的函数,试问一下,如果你告诉系统你要对那些数求平均数,你说系统有这么神奇知道想求哪些数的平均数吗?明显是不可能的,那么要怎么让系统知道你想求的数呢,那就要靠参数传递来实现。
函数声明时只需写出形参类型。
函数定义时必须写出形参类型和变量名。
C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。
扩展资料
示例
例如:
void ConnectData(int i,...)
在上面的代码中,编译器只检查第一个参数是否为整型,而不对其他参数进行检查。
对于可变参数的函数,需要进行特殊的处理。首先需要引用 stdarg.h 头文件,然后利用va_list类型和va_start、va_arg、va_end 3个宏读取传递到函数中的参数值。
这几个宏的定义如下(在 ANSI C 中):
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
void va_start( va_list arg_ptr, prev_param )。
形参名可以省,形参的类型不要省;如int fact(int);以便编译器识别形参和实参的类型是否匹配。