C/C++ 中函数原型的目的是什么?


接下来,我们将了解如何在 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

更新于: 2019 年 7 月 30 日

6K+次浏览

启动你的职业

完成课程获得认证

开始学习
广告