招生考试网
学历类| 阳光高考 美术高考 研究生 自考 成人高考 专升本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 论文 驾照考试 书法等级 少儿英语 报检员 单证员 教案 专题 考试资讯 文档
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2014年计算机二级C语言要点4:函数

来源:2exam.com 2013-10-30
2014年计算机二级C语言要点4:函数

(2)全局变量的作用域及生存期

  全局变量的作用域为从变量定义的位置开始,到整个源程序文件结束为止。生存期为整个程序的运行期间。

  注意:全局变量在整个程序运行期间都占用内存空间。全局变量必须在函数以外定义,因而降低了函数的通用性,影响函数的独立性。使用全局变量时,当全局变量的值意外改变时,会引起副作用,这种错误一般难以查找。

  ①在同一编译单位内用extern标识符来扩展全局变量的作用域

  当全局变量定义后,在引用函数前,应在引用它的函数中用extern对此全局变量进行说明,以便使编辑程序确定此外部变量已被定义,不必再为它分配存储单元,此时的作用域从extern说明开始,到此函数结束。

  注意:全局变量的定义只能出现一次,这时不可使用extern标识符。如果多次引用全局变量,这时必须用extern标识符。

  ②在不同编译单位内用extern标识符来扩展全局变量的作用域

  C语言中的不同函数可以存放在不同的源程序文件中,每个源程序文件可以单独进行编译,进行语法检查,再生成目标文件,最后用系统提供的连接程序把多个目标文件连接成一个可执行程序。

  当程序由多个源程序文件组成时,若每个文件中都要引用同一个全局变量,这时如在每个源程序文件中都定义一个所需的同名全局变量,将在连接时产生重复定义错误。解决的办法是在其中一个源程序文件中定义所有全局变量,而在其他用到全局变量的源程序文件中用extern对这些变量进行说明,以表明它们已在其他编译单元中被定义。

  ③静态全局变量

  当用static标识符说明全局变量时,全局变量为静态全局变量。静态全局变量只能在定义它的源程序文件中使用,不能被其他源程序文件使用。

  7.8 内部函数及外部函数

  根据函数能否被其他源程序文件所调用,可将函数分为内部函数和外部函数。

  1.内部函数

  内部函数是指一个函数只能由定义它的源程序文件所调用,内部函数又称为静态函数。

  格式:static类标函数名(类型名 形参数1,类型名 形参数2,…)

  上面的定义格式中,static用于说明函数为内部函数。

  2.外部函数

  外部函数是指可以被其他源程序所调用的函数。

  格式[extern]类型标识符 函数名(类型名 形参数1,类型名 形参数2,…)

  上面定义格式中,extern表明所定义的函数为外部函数,当extern被省略时,隐含为外部函数。

  注意:在要调用此函数的源程序文件中,一般要用extern标识符说明所用的函数为外部函数

  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章
    推荐文章
  • 此栏目下没有推荐文章

  • 报名考试全国   黑龙江   吉林   辽宁   内蒙古   青海   宁夏   甘肃   新疆   陕西   西藏   北京   天津   河北   山东   江苏   安徽   河南
    上海   浙江   福建   广东   山西   湖南   湖北   江西   广西   海南   云南   贵州   四川   重庆
    分省高校计算机考试黑龙江   吉林   辽宁   内蒙古   河北   北京   天津   新疆   甘肃   宁夏   青海   陕西   山西   河南   山东   江苏   安徽   浙江
    福建   广东   海南   广西   江西   湖北   湖南   四川   上海   重庆   贵州   云南   西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导计算机一级   计算机二级   计算机三级   计算机四级
    经验交流
    高校计算机

    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号