[其他ST产品] extern放在声明函数前与定义函数前的区别

[复制链接]
458|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 | 显示全部楼层

我觉得尽量带上这个属性,这样让编译器和读者都能非常正确的了解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

2026

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部