招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2014计算机二级C++考点知识分析:函数

来源:2exam.com 2014-4-9 23:20:37

 

 (3)静态变量 

  内部静态变量: 

  ①在局部变量前加上“static”关键字就成为内部静态变量。 

  ②内部静态变量仍是局部变量,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤消,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。 

  外部静态变量: 

  ①在函数外部定义的变量前加上“static”关键字便成了外部静态变量。 

  ②外部静态变量的作用域为定义它的文件,即成为该文件的“私有”(private)变量,只有其所在文件上的函数可以访问该外部静态变量,而其他文件上的函数一律不得直接访问该变量,除非通过外部静态变量所在文件上的各种函数来对它进行操作,这也是一种实现数据隐藏的方式。 

  ③与内部静态变量一样,外部静态变量也采用静态存储分配,有隐含初值0。 

  在C+ +中,除了支持C风格的内部和外部静态变量的使用之外,还可将类成员声明成static,它有着不同的含义。 

  (4)寄存器变量 

  ①只有自动(局部)变量和函数参数可指定为寄存器存储类,它的作用域与生存期与自动变量完全相同。 

  ②当指定的寄存器变量个数超过系统所能提供的寄存器数量时,多出的寄存器变量将视同自动变量。 

  ③只限于int,char,short,unsigned和指针类型可使用register存储类。 

  ④不能对寄存器变量取地址(即&操作)。 

  ⑤使用寄存器变量可以提高存取速度,可将使用频率最高的变量说明成为寄存器变量。一般常用于说明循环变量。 

  由于硬件的快速发展,存储器(如内存)的性能有了很大的改进,因此,目前在实际应用中,使用register来说明变量的情况并不多。 

  2生存周期 

  (1)变量由编译程序在编译时给其分配存储空间(称为静态存储分配),并在程序执行过程中始终存在,这类变量包括全局变量、外部静态变量和内部静态变量。这类变量的生存周期与程序的运行周期相同,当程序运行时,该变量的生存周期随即存在,程序运行结束,变量的生存周期随即终止。 

  (2)变量由程序在运行时自动给其分配存储空间(称为自动存储分配),这类变量为函数(或块)中定义的自动变量。它们在程序执行到该函数(或块)时被创建,在函数(或块)执行结束时释放所用的空间。


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


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