




















ANSI C同较早版本C语言之间的最大区别在于函数的声明与定义方式不同。按照C语言的最初定义,函数写出如下形式:
power(base, n)
int base, n;
{
int i, p;
p = 1;
........
}
其中,参数名在圆括号内指定,参数类型在花括号之前声明。如果没有声明某个参数的类型,则默认为int类型。函数体与ANSI C中的形式相同。
在C语言的最初定义中,可以在程序的开头按照下面这种形式声明函数:
int power();
函数声明中不允许包含参数列表,这样编译器就无法在此时检查power函数调用的合法性。事实上,power函数在默认情况下将被假定返回int类型的值,因此整个函数的声明可以全部省略。
在ANSI C中定义的函数原型语法中,编译器可以很容易检测出函数调用中参数数目和类型方面的错误。ANSI C仍然支持旧式的函数声明与定义,这样至少可以有一个过渡阶段。但我们还是强烈建议读者:在使用新式的编译器时,最好使用新式的函数原型的声明方式。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。