Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->编程语言 ->C/C++ ->C语言教程第五章:函数
  相关分类: 
ASP
ViualBasic
UML / Rational Rose
PHP4/PHP5
Perl
JAVA/JSP教程
Delphi
ColdFusion
CGI
C/C++
ASP.NET
XML
  站内搜索: 
热门文章排行
热门文章排行 C语言教程第十章:文件 (04-12)
C语言版学生管理系统,作者:没牙的(04-12)
C语言教程第二章: 数据类型、运(04-12)
C语言教程第六章:指针 (04-12)
C语言教程第一章: C语言概论 (04-12)
精采文章排行
精采文章排行 C语言教程第一章: C语言概论 (04-12)
C语言教程第二章: 数据类型、运(04-12)
C语言教程第三章: C语言程序设(04-12)
C语言教程第五章:函数 (04-12)
C语言教程第四章: 数组 (04-12)
  ·C语言教程第二章: 数据类型、运算符·C语言教程第三章: C语言程序设计初·C语言教程第五章:函数 ·C语言教程第四章: 数组 ·C语言教程第六章:指针 ·C语言教程第十章:文件 ·C语言教程第七章:结构与联合 ·C语言教程第八章:枚举,位运算 ·C语言教程第九章:预处理

C语言教程第五章:函数

作者:Webmaster   来源:Linuxdby.com   点击:   日期:2007-04-12 [收藏] [投稿]

  IE是否经常中毒?推荐您



内部函数和外部函数

  函数一旦定义后就可被其它函数调用。 但当一个源程序由多个源文件组成时, 在一个源文件中定义的函数能否被其它源文件中的函数调用呢?为此,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); /*外部函数定义*/
{
……
}

本章小结

1. 函数的分类
(1)库函数:由C系统提供的函数
(2)用户定义函数:由用户自己定义的函数
(3)有返回值的函数向调用者返回函数值,应说明函数类型( 即返回值的类型 );
(4)无返回值的函数:不返回函数值,说明为空(void)类型;
(5)有参函数:主调函数向被调函数传送数据;
(6)无参函数:主调函数与被调函数间无数据传送;
(7)内部函数:只能在本源文件中使用的函数
(8)外部函数:可在整个源程序中使用的函数

2. 函数定义的一般形式
[extern/static] 类型说明符 函数名([形参表]) 方括号内为可选项。

3. 函数说明的一般形式 [extern] 类型说明符 函数名([形参表]);

4. 函数调用的一般形式 函数名([实参表])

5. 函数的参数分为形参和实参两种,形参出现在函数定义中,实参出现在函数调用中,发生函数调用时,把把实参的值传送给形参。

6. 函数的值是指函数的返回值,它是在函数中由return语句返回的。

7. 数组名作为函数参数时不进行值传送而进行地址传送。形参和实参实际上为同一数组的两个名称。因此形参数组的值发生变化,实参数组的值当然也变化。

8. C语言中,允许函数的嵌套调用和函数的递归调用。

9. 可从三个方面对变量分类,即变量的数据类型,变量作用域和变量的存储类型。在第二章中主要介绍变量的数据类型,本章中介绍了变量的作用域和变量的存储类型。

10.变量的作用域是指变量在程序中的有效范围, 分为局部变量和全局变量。

11.变量的存储类型是指变量在内存中的存储方式,分为静态存储和动态存储,表示了变量的生存期。

12.变量分类特性表存储方式存储类型说明符何处定义生存期作用域赋值前的值可赋初值类型动态存储自动变量 auto 寄存器变量 register 函数或复合语句内被调用时在定义它的函数或复合语句内不定基本类型int或char外部变量extern函数之外整个源程序整个源程序静态局部变量static 函数或复合语句内静态全局变量static 函数之外整个源程序在定义它的函数或复合语句内在定义它的源文件内0任何类型



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 3 4 5 6 7 8 9 10下一页

上一篇:C语言教程第四章: 数组   下一篇:C语言教程第三章: C语言程序设计初步
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·C语言教程第一章: C语言概论

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。