函数原型具有以下目的–
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语言的函数原型的目的是什么(如何理解?)】为了避免所有这些C标准的实现细节, 最好具有函数原型。
推荐阅读
- 如何解决invalid literal for int() with base((已解决))
- PHP中@符号的用途是什么(如何使用?)
- 什么是十二要素应用程序(什么是软件即服务(SAAS)应用程序?)
- 是什么使Scala具有可扩展性()
- 自动化(使用Python的Whatsapp!)
- Ping和Traceroute之间有什么区别()
- DBUtils使用详解#yyds干货盘点#
- 设计模式的七大原则 #yyds干货盘点#
- #yyds干货盘点#Maven打jar包供外部调用