C中的static函数

来源:互联网 发布:淘宝网店铺介绍怎么写 编辑:程序博客网 时间:2024/04/28 08:11

 当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。

内部函数

  (又称静态函数)

 

  如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。

 

  定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:

 

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

 

  {……}

 

  关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。

 

  使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。

外部函数

  外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:

 

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

 

  {……}

 

  调用外部函数时,需要对其进行说明:

 

  [extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……];

 

  [案例]外部函数应用。

 

  (1)文件mainf.c

 

  main()

 

  { extern void input(…),process(…),output(…);

 

  input(…); process(…); output(…);

 

  }

 

  (2)文件subf1.c

 

  ……

 

  extern void input(……) /*定义外部函数*/

 

  {……}

 

  (3)文件subf2.c

 

  ……

 

  extern void process(……) /*定义外部 函数*/

 

  {……}

 

  (4)文件subf3.c

 

  ……

 

  extern void output(……) /*定义外部函数*/

 

  {……}

原创粉丝点击