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 日

5 千次加以上查看

开启你的 职业

完成本课程取得认证

开始
广告
© . All rights reserved.