📜  函数原型的目的是什么?

📅  最后修改于: 2021-05-25 18:24:41             🧑  作者: Mango

函数原型具有以下目的– 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的C基础课程》。