To be a better coder
分类: C/C++
2018-12-05 16:20:26
原文地址: C语言中的static extern 作者:dyli2000
转自博客
http://blog.chinaunix.net/uid-2512245-id-3549886.html
当一个源程序由多个源文件组成时,根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。
1 内部函数(又称静态函数)
如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
定义一个内部函数,只需在函数类型前再加一个“static”关键字即可:
static 函数类型 函数名(函数参数表)
关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
2 外部函数
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数,也就是我们最常用的函数形式。
extern它可以用作一种格式上的提示,表明函数的定义可能在另一个源文件中,extern int f();与int f();本质上是一样的。