C语言extern和static

C语言extern和static,第1张

一、extern与函数

先来理解2个概念:

  • 外部函数:如果在当前文件中定义的函数允许其他文件访问、调用,就称为外部函数。

    C语言规定,不允许有同名的外部函数。

  • 内部函数:如果在当前文件中定义的函数不允许其他文件访问、调用,只能在内部使用,就称为内部函数。

    C语言规定不同的源文件可以有同名的内部函数,并且互不干扰。

二、static、extern与函数的总结

1.static

  • 在定义函数时,在函数的最左边加上static可以把该函数声明为内部函数(又叫静态函数),这样该函数就只能在其定义所在的文件中使用。

    如果在不同的文件中有同名的内部函数,则互不干扰。

  • static也可以用来声明一个内部函数

2.extern

  • 在定义函数时,如果在函数的最左边加上关键字extern,则表示此函数是外部函数,可供其他文件调用。

    C语言规定,如果在定义函数时省略extern,则隐含为外部函数。

  • 在一个文件中要调用其他文件中的外部函数,则需要在当前文件中用extern声明该外部函数,然后就可以使用,这里的extern也可以省略。

注意:extern

如果a.cb.c文件中想要共用一个变量int aa;那么此时可能会想在一个头文件中b.h中声明一个变量,但是注意a.cb.c两个文件都调用b.h,这样做不正确。

应当是在一个c文件中声明一个,在其他文件中调用时用extern进行声明

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/662728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-18
下一篇 2022-04-18

发表评论

登录后才能评论

评论列表(0条)

保存