首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C函数参数的怪异用法,同事都没见过,

2012-09-15 
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;
}

这样可以给参数按类型归类。

你习惯的写法成为“现代写法”。

热点排行