C的内部函数和外部函数
来源:互联网 发布:eclipse java程序 编辑:程序博客网 时间:2024/05/16 07:02
函数本质上是全局的,但可以限定函数能否被别的文件所引用。当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。
1 内部函数
如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static
关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:
[extern]
调用外部函数时,需要对其进行说明:
[extern]
例2
(1)文件mainf.c
main()
{
}
(2)文件subf1.c
extern void input(……)
(3)文件subf2.c
extern void process(……)
(4)文件subf3.c……
extern void output(……)
例3
file1.c
main()
{
extern void sort(int
}
file2.c
void sort(int
{
}
多个源程序文件的编译和连接
(1)一般过程
编辑各源文件 → 创建Project(项目)文件 → 设置项目名称 → 编译、连接,运行,查看结果。
(2)创建Project(项目)文件
用编辑源文件相同的方法,创建一个扩展名为.PRJ的项目文件:该文件中仅包括将被编译、连接的各源文件名,一行一个,其扩展名.C可以缺省;文件名的顺序,仅影响编译的顺序,与运行无关。
注意:如果有某个(些)源文件不在当前目录下,则应在文件名前冠以路径。
(3)设置项目名称
打开菜单,选取Project/Project name,输入项目文件名即可。
(4)编译、连接,运行,查看结果
与单个源文件相同。编译产生的目标文件,以及连接产生的可执行文件,它们的主文件名,均与项目文件的主文件名相同。
注意:当前项目文件调试完毕后,应选取Project/Clear project,将其项目名称从“Project name”中清除(清除后为空)。否则,编译、连接和运行的,始终是该项目文件!
(5)关于错误跟踪
缺省时,仅跟踪当前一个源程序文件。如果希望自动跟踪项目中的所有源文件,则应将Options/Environment/Message Tracking开关置为“All files ”:连续按回车键,直至“All files”出现为止。此时,滚动消息窗口中的错误信息时,系统会自动加载相应的源文件到编辑窗口中。
也可关闭跟踪(将“Message Tracking”置为“Off”)。此时,只要定位于感兴趣的错误信息上,然后回车,系统也会自动将相应源文件加载到编辑窗口中。
- C的内部函数和外部函数
- C的内部函数和外部函数
- 【C语言】外部函数和内部函数
- C语言的内部函数和外部函数用法
- 内部函数和外部函数
- 内部函数和外部函数
- 内部函数和外部函数
- 内部函数和外部函数
- 内部函数和外部函数
- C语言 内部函数和外部函数问题
- [C学习]内部函数与外部函数
- C语言内部函数与外部函数
- C语言外部函数与内部函数
- staitc用于函数内部和函数外部的不同
- 4.15、内部函数和外部函数
- C++内部函数和外部函数
- 内部函数外部函数
- C语言中static关键词使用在函数外部和内部的疑惑
- String类常用属性方法小结
- dubbo学习笔记 -- 安装(一)
- 第一次机房收费系统——饮血
- Modbus通讯资料总结
- XUtils===XUtils3框架的基本使用方法(一)
- C的内部函数和外部函数
- POJ 1789 Truck History
- 实现两列等宽布局的几种方法
- jzoj 1148. 【克罗地亚】INSTRUKCIJE
- 关于http长连接使用的分享
- C的内部函数和外部函数
- 与jClarityCEO合影
- 找零问题
- phpstorm表单递交出错404的解决办法