个性化阅读
专注于IT技术分析

C语言的函数原型的目的是什么?如何理解?

函数原型具有以下目的–

1)告知函数将返回的数据的返回类型。

2)告诉传递给函数的参数数量。

3)告诉每个传递的参数的数据类型。

4)它还告诉参数传递给函数的顺序。

因此从本质上讲, 函数原型指定函数的输入/输出隔行扫描, 即为函数提供什么以及对函数期望什么。

函数的原型也称为函数的签名。

如果没有指定函数原型怎么办?

通常在许多地方要求以下程序的输出。

int main()
{
    foo();
    getchar ();
    return 0;
}
void foo()
{
    printf ( "foo called" );
}

如果未指定函数原型, 则该行为特定于编译器实现的C标准(C90或C99)。直到C90标准, C编译器都将省略的函数原型的返回类型假定为int。并且在编译器端的这种假设可能导致未指定的程序行为。

后来的C99标准指定编译器不能再将返回类型假定为int。因此, C99在函数原型的类型检查中变得更加严格。但是为了使C99标准向后兼容, 实际上, 编译器会发出警告, 指出返回类型假定为int。但是他们继续进行编译。因此, 程序员有责任确保假定的函数原型与实际的函数类型匹配。

为了避免所有这些C标准的实现细节, 最好具有函数原型。

赞(0) 打赏
未经允许不得转载:srcmini » C语言的函数原型的目的是什么?如何理解?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏