c/c++ c中内部函数和外部函数

函数本质上是全局的,因为一个函数要被另外的函数调用,也可以指定函数不能被其他文件调用。根据能否被其他源文件调用,将函数区分为内部和外部函数。


内部函数:(也称静态函数)

       只能被本文件中其他函数所调用。定义内部函数格式如下:

    static 类型标识符 函数名(形参表)

    如:static int fun(int x,int y) 

    使用内部函数,可以使函数的作用域只局限于所在的文件,在不同文件中有同名的内部函数,互不干扰。这样不同的人可以分别编写不同的函数,而不必担心所用函数是否会与其它文件中的函数同名,通常把只能有同一文件使用的函数和外部变量放在同一文件中,在它们前面都冠以static使之局部化,其它文件不能引用。


外部函数:

1.定义函数时,在最左端加上关键字extern ,表示函数是外部函数(在C中,省略extern,隐含为外部函数)

  extern int fun(int x,int y) 


2.在需要调用此函数的文件中,用extern对函数声明,表示该函数是在其他文件中定义的外部函数。


函数原型能够把函数的作用域扩展到定义该函数的文件之外(不必使用extern),只要在使用该函数的每一个文件中包含该函数的函数原型即可。函数原型通知编译系统:该函数在本文件中稍后定义,或在另一文件中定义。


--来自古老的谭浩强版C程序设计。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。