C函数参数的怪异用法,同事都没见过,
C函数参数的怪异用法,同事都没见过,请指教。函数一:int test(a,b,c)int achar bint c{......return}函
C函数参数的怪异用法,同事都没见过,请指教。
函数一:
int test(a,b,c)
int a;
char b;
int c;
{
......
return;
}
函数二:
int test(int a,char b, int c)
{
......
return;
}
这2个函数有什么区别? 函数一C++编译不认,但C编译认。
函数一这样写有什么特殊意义吗?
还是2个函数完全一样?
[解决办法]
第一种是C语言以前的写法。意义是一样的
[解决办法]
[解决办法]第一种是老式的写法
[解决办法]C的文言文写法。在很久很久以前。。。
[解决办法]TC,现在有些大学还在用,2003年以前很多有在用这个,标准是89C标准
允许先定义参数个数,后定义参数类型
[解决办法]前者是老式的写法,现在很少用到了!还是写第二种比较好!
[解决办法]在编译一个C程序时,数据结构,参数,以及函数的返回值在引用他们的代码生成之前必须是已知的,C语言允许使用 函数原型 来声明一个函数的参数,返回值,一般来说可以宏定义一个函数原型,如:
#define_PROTOTYPE(function, params)function params
[解决办法]维护过这样的代码,2000写的。
[解决办法]第一种写法是K&R C 后面的是标准的
[解决办法]第一种称为“经典写法”。
int test(a,b,c)
int a;
char b;
int c;
{
......
return;
}
可以改写成
int test(a,b,c)
int a, c;
char b;
{
......
return;
}
这样可以给参数按类型归类。
你习惯的写法成为“现代写法”。