首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C中不使用函数原型有什么好处吗?

在C中不使用函数原型有什么好处吗?
EN

Stack Overflow用户
提问于 2009-06-03 19:43:37
回答 9查看 623关注 0票数 2

我正在使用一些不包含某类函数的函数原型的C代码。不使用函数原型有什么好处吗?这些函数从不互相调用,也没有参数。代码更改了很多,所以可能只是少了一行要编辑的代码?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-06-03 19:49:46

函数原型是用于外部函数的。我的规则是每个非静态函数都有一个原型,除了main()。我使用'-Wmissing-prototypes‘的GCC选项。通常,它捕获的是当我忘记声明一个函数静态的时候。

同样,在C中以这种方式声明函数:

代码语言:javascript
运行
复制
void function(void);

而不是这样:

代码语言:javascript
运行
复制
void function();

因为第二种方法意味着该函数接受未指定数量的参数,这并不是您想要的(这是为了与ANSI C之前的版本兼容)。

票数 5
EN

Stack Overflow用户

发布于 2009-06-03 19:47:41

No

我甚至不知道这在严格的ansi c中是否合法。

票数 4
EN

Stack Overflow用户

发布于 2009-06-03 20:18:13

当应用于函数原型时,“代码改变很多”也是一种糟糕的代码味道。如果接口(函数签名)变化很大,那么函数的职责可能不是很清楚。首先,弄清楚如何将问题划分为子责任,然后才开始编写代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/946765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档