博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C言语教程第五章:函数(10)
阅读量:5014 次
发布时间:2019-06-12

本文共 1734 字,大约阅读时间需要 5 分钟。

外部函数和外部函数
  函数一旦定义后就可被另外函数挪用。 但当一个源轨范由多个源文件组成时, 在一个源文件中定义的函数可否被另外源文件中的函数挪用呢?为此,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任何圭臬标准
版权声明: 原创作品,允许转载,转载时请务必以超链接体式格局标明文章 原始来由 、作者信息和本声明。不然将究查法律责任。

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1975595.html

你可能感兴趣的文章
iOS开发UI之KVC(取值/赋值) - KVO (观察某个对象的某个属性的改变)
查看>>
1.7 将一个MxN矩阵所有为0的元素所在行和列全部置0
查看>>
删除U盘时提示无法停止‘通用卷’设备的解决方法!!不要每次都硬拔了,对电脑有不小的损害!!!...
查看>>
Java中接口与接口和类之间的关系
查看>>
芯片TPS70925
查看>>
linux shell 发送email 附件
查看>>
人群密度估计 CrowdCount
查看>>
JSON.parse()和JSON.stringify()
查看>>
.net 常用正则表达式
查看>>
Java泛型中的标记符含义:
查看>>
初遇GitHub
查看>>
[C# 网络编程系列]专题八:P2P编程
查看>>
Jsの练习-数组常用方法 -forEach()
查看>>
动态绑定treeview的方法
查看>>
jvm参数
查看>>
3-1 案例环境初始化
查看>>
读《构建之法》第四章和十七章有感
查看>>
01背包
查看>>
开发一个12306网站要多少钱?技术分析12306合格还是不合格
查看>>
Selenium 入门到精通系列:六
查看>>