外部函数原型?

Cal*_*ian 9 c extern function-prototypes

my_math.h

// case 1 
unsigned int add_two_numbers(unsigned char a, unsigned char b);

//case 2 
extern unsigned int add_two_numbers(unsigned char a, unsigned char b); 
Run Code Online (Sandbox Code Playgroud)

案例1和案例2有什么区别?我从来没有使用extern作为函数原型,而是查看某人的代码(谁比我更有经验)我看到extern总是在声明函数原型时使用.任何人都可以指出请点差异吗?(或者指向我可以找到具体信息的链接).谷歌表示,这与外部联系有关.任何人都能指出一个例子,一个人会工作而另一个人不会吗?

我使用嵌入式C(KEIL),如果它有任何区别.

mid*_*dor 10

extern是全局链接的链接说明符.它的对应物是static,它指定文件本地链接.由于全局链接是C中的默认链接,因此添加extern到声明对函数声明没有任何区别.用于可变它可以防止自动存储器分配和使用它是唯一的方法只是声明在全局范围内的变量.

如果您只是谷歌关键字,你会发现许多文章,例如这一个: geeks for geeks