打印
[其他ST产品]

extern放在声明函数前与定义函数前的区别

[复制链接]
316|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LLGTR|  楼主 | 2022-9-13 13:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

extern 关键字放在函数声明之前:

> test.h

extern int test();

如果这样函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义。

这样一来,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰,以防止遗漏包含头文件而导致的编译错误。

extern 关键字放在函数定义之前:

> test.c

extern int test()

{

    return true;

}

如果在函数定义的地方带有关键字extern,表示该函数会提供给外部文件使用,其实有些编译器是默认每个函数都是extern类型的,反之是static类型


使用特权

评论回复
沙发
Bowclad| | 2022-9-13 19:55 | 只看该作者
好习惯确实不错

使用特权

评论回复
板凳
LLGTR|  楼主 | 2022-9-15 13:11 | 只看该作者

我觉得尽量带上这个属性,这样让编译器和读者都能非常正确的了解。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

1615

帖子

2

粉丝