第12章 C语言中用户标识符的作文域和存储类 12.4 函数的存储分类
讨论本章
- 知识点:
- 用extern说明函数
- 用static说明函数
当定义一个函数时,若在函数返回值的类型前加上说明符extern,则称此函数为“外部”函数。Extern说明可以省略,一般的函数都隐含说明为extern。所以,我们以前所定义的函数都属于外部函数。
外部函数的特征是:可以被其他编译单位中的函数调用。通常,当函数调用语句与被调用函数不在同一编译单位,且函数的返回值为非整型时,应该在调用语句所在函数的说明部分用extern对所调用的函数进行函数说明。
当定义一个函数时,若在函数返回值的类型前加上说明符static,则称此函数为“静态”函数。静态函数的特征是:只限于本编译单位的其他函数调用它,而不允许其他编译单位中的函数对它进行调用。从这个意义上说,静态函数又可称作“内部”函数(内部于本文件的函数)。
使用静态函数可以避免不同编译单位因函数同名而引起混乱。若强行调用静态函数,将会产生出错信息。