Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1244640
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: LINUX

2012-08-02 10:53:40

form:http://blog.csdn.net/supreme42/article/details/6694377
内部函数和外部函数

  函数一旦定义后就可被其它函数调用。   但当一个源程序由多个源文件组成时,   在一个源文件中定义的函数能否被其它源文件中的函数调用呢?为此,C语言又把函数分为两类:

一、内部函数

  如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用,   这种函数称为内部函
数。定义内部函数的一般形式是:   static   类型说明符   函数名(形参表)   例如:
static   int   f(int   a,int   b)   内部函数也称为静态函数。但此处静态static   的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件。   因此在不同的源文件中定义同名的静态函数不会引起混淆。

二、外部函数
  外部函数在整个源程序中都有效,其定义的一般形式为:   extern   类型说明符   函数名(形参表)   例如:
extern   int   f(int   a,int   b)如在函数定义中没有说明extern或static则隐含为extern。在一个源文件的函数中调用其它源文件中定义的外部函数时,应   用extern说明被调函数为外部函数。例如:
F1.C   (源文件一)
main()
{
extern   int   f1(int   i);   /*外部函数说明,表示f1函
数在其它源文件中*/
……
}
F2.C   (源文件二)
extern   int   f1(int   i);   /*外部函数定义*/
{
……
}
阅读(1076) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~