函数声明和定义C - 在pascal中定义的参数:它应该是什么?

时间:2013-03-28 08:19:03

标签: c function coding-style declaration definition

我最近读过一个有趣的代码,但我无法确定它的含义:

void foo(arg1, arg2)
int arg1;
unsigned char arg2[16];
{
    //some code
}

在作为函数参数声明和定义之前,我从未在C语言中看到类似的东西。我从2003年开始开发软件,但它有点像旧的或全新的东西。它是什么样的功能定义风格?我记得,你可以用Pascal声明参数,但不能用C语言声明。

安德鲁

2 个答案:

答案 0 :(得分:2)

这相当于:

 void foo(int arg1, unsigned char arg2[16]) 
 {

这是非常古老的风格。

答案 1 :(得分:2)

它是原始的ANSI C之前的版本,如K& R1(Kernighan和Ritchie的“C编程语言”的原始版本)所示。所谓的“原始”或前ANSI C编译器使用了这种语法。可以调用编译器,以便他们可以使用命令行选项接受这种类型的代码。

从那以后,C已经发展了很长的路,但你仍然偶尔会在较旧的程序中遇到它。