5-13 内部函数与外部函数
本节编程练习不计算学习进度,请电脑登录imooc.com操作

内部函数与外部函数

人本身是有自己的特定方法的,比如当你说话的时候,不希望是别人让你怎么说你就怎么说吧,那么这种不能被外人调用的方法称为人的内部方法。人本身还有一些可以调配的方法,比如当你家人跟你说,家里没有盐了,你去买袋盐,去买盐就是他人调用你的方法,那么能被外人调用的方法称谓外部方法。

在C语言中不能被其他源文件调用的函数称谓内部函数 ,内部函数由static关键字来定义,因此又被称谓静态函数,形式为:

 static [数据类型] 函数名([参数]) 

这里的static是对函数的作用范围的一个限定,限定该函数只能在其所处的源文件中使用,因此在不同文件中出现相同的函数名称的内部函数是没有问题的。

在C语言中能被其他源文件调用的函数称谓外部函数 ,外部函数由extern关键字来定义,形式为:

 extern [数据类型] 函数名([参数]) 

C语言规定,在没有指定函数的作用范围时,系统会默认认为是外部函数,因此当需要定义外部函数时extern也可以省略。

 

任务

小编把代码编辑器中的某个方法定义错了,你能帮他改正吗?

在代码编辑器中:

第3行将函数改为外部函数

运行结果为

  1. #include <stdio.h>
  2. #include "test.c" //引用test.c文件
  3. static void printLine() //这里定义的方法对吗?
  4. {
  5. printf("**************\n");
  6. }
  7. int main()
  8. {
  9. say();
  10. return 0;
  11. }
  1. #include <stdio.h>
  2. void say(){
  3. printLine();
  4. printf("I love imooc\n");
  5. printf("good good study!\n");
  6. printf("day day up!\n");
  7. printLine();
  8. }
下一节