在这里我们将了解在 C 或 C++ 中使用函数原型的目的是什么。函数原型用于告诉编译器参数的数量以及函数参数所需的数据类型,它还告诉编译器函数的返回类型。根据此信息,编译器在调用函数之前会交叉检查函数签名。如果没有提到函数原型,那么程序编译时可能会出现一些警告,有时会生成一些奇怪的输出。
如果某个函数在某处被调用,但其主体尚未定义,则已定义在当前行之后,则可能会产生问题。编译器找不到该函数是什么以及它的签名是什么。在这种情况下,我们需要函数原型。如果函数之前已定义,那么我们不需要原型。
示例代码
'#include<stdio.h>
main() {
function(50);
}
void function(int x) {
printf("The value of x is: %d", x);
}
输出
'The value of x is: 50
这显示了输出,但它显示了一些警告,如下所示:
'[Warning] conflicting types for 'function'
[Note] previous implicit declaration of 'function' was here
现在使用函数原型,它执行没有任何问题。
示例代码
'#include<stdio.h>
void function(int); //prototype
main() {
function(50);
}
void function(int x) {
printf("The value of x is: %d", x);
}
输出
'The value of x is: 50