【C语言学习笔记】:内部与外部函数

  • Post author:
  • Post category:其他



C语言函数的声明和定义

一个函数一般由两部分组成:

  • 声明部分执

  • 行语句

C语言对变量而言,声明与定义的关系稍微复杂一些,在声明部分出现的变量有两种情况:

  • 一种是需要建立存储空间的。

  • 另一种是不需要建立存储空间的。

前者称为定义性声明,简称定义;后者称为引用性声明。

一般为了叙述方便,把建立存储空间的声明称定义,而把不需要建立存储空间的声明称为声明。

在函数中出现的对变量的声明,除了用extern声明的以外都是定义,在函数中对其他函数的声明不是函数的定义。


C语言内部函数

一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static即:

static 类型名 函数名(形参表);

内部函数又称为静态函数,因为它是用static声明的。

使用内部函数,可以使函数的作用域只局限于所在文件,在不同的文件中即使有同名的内部函数,也互不干扰。

通常把只能由本文件使用的函数和外部变量放在文件的开头,前面都加static使之局部化,表示其他文件不能引用。


C语言外部函数

在定义函数时,在函数首部的最左端加关键字extern,则此函数是外部函数,可供其他文件调用。

C语言规定,如果在定义函数时省略extern,则默认为外部函数。


C语言


内部函数外部函数案例

#include<stdio.h>

extern int maxNumber(int num1,int num2)//外部函数

{


int max;

max=num1>num2?num1:num2;

return max;

}

static float minNumber(float num1,float num2)//内部函数

{


float min;

min=num1<num2?num1:num2;

return min;

}

int main()

{


printf(“%d\n”,maxNumber(10,11));

printf(“%f\n”,minNumber(10,11));

return 0;

}

编译运行结果:

11

10.000000

——————————–

Process exited after 0.07334 seconds with return value 0

请按任意键继续. . .



版权声明:本文为Jiangziyadizi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。