C++变量的作用域与存储类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一 变量的作用域和存储类型

1 变量的作用域(Scope)

指在源程序中定义变量的位置及其能被读写访问的范围分为局部变量(Local Variable)和全局变量(Global Variable)

1)局部变量(Local Variable)

在语句块内定义的变量
形参也是局部变量
特点:
生存期是该语句块,进入语句块时获得内存,仅能由语句块内语句访问,退出语句块时释放内存,不再有效;
定义时不会自动初始化,除非程序员指定初值;
并列语句块各自定义的同名变量互不干扰
形参和实参可以同名。

2)全局变量(Global Variable)

在所有函数之外定义的变量
生存期是整个程序,从程序运行起占据内存,程序运行过程中科随时访问,程序退出时释放内存;
有效范围是从定义变了的位置开始到本程序结束。
在这里插入图片描述

2 变量的存储类型(Storage Class)

指数据在内存中存储的方式
即编译器为变量分配内存的方式,它决定变量的生存期。
存储类型 数据类型 变量名;

C程序的存储类别
Auto型(自动变量)
static型(静态变量)
extern型(外部变量)
register型(寄存器变量)
在这里插入图片描述

3) 变量的存储类型(Storage Class)

变量的生存期(Lifetime),决定何时“生”,何时"灭"。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 自动变量和静态变量

1) auto数据类型 变量名;

进入语句块时自动申请内存,退出时自动释放内存;
动态局部变量,缺省的存储类型;
静态变量

2)静态变量

static 数据类型 变量名;
存储期间同动态局部变量;
生存期为整个程序运行期间;

在这里插入图片描述
在这里插入图片描述

3 寄存器变量

1) 寄存器

CPU内部容量有限,但速度极快的存储器
register 类型名 变量名;
在这里插入图片描述
使用频率比较高的变量声明为register,可使程序更小,执行速度更快。
现代编译器有能力自动把普通变量优化为寄存器变量,并且忽略用户的指定。
所以一般无需特别声明变量为register.

2) 变量的作用域和存储类型

在这里插入图片描述

相关推荐

  1. C存储类别作用、链接、存储期)

    2024-05-11 20:42:03       33 阅读
  2. c语言中,局部变量作用是?

    2024-05-11 20:42:03       10 阅读
  3. Python 变量:创建、类型、命名规则和作用详解

    2024-05-11 20:42:03       38 阅读
  4. C#(C Sharp)学习笔记_变量常量作用【十二】

    2024-05-11 20:42:03       18 阅读
  5. bash 变量作用

    2024-05-11 20:42:03       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-11 20:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-11 20:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-11 20:42:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-11 20:42:03       20 阅读

热门阅读

  1. 力扣:763. 划分字母区间

    2024-05-11 20:42:03       15 阅读
  2. 算法学习笔记(博弈论中的SG函数)

    2024-05-11 20:42:03       28 阅读
  3. LVS(Linux Virtual Server)知识点详解

    2024-05-11 20:42:03       11 阅读
  4. Nginx - location 指令(二)

    2024-05-11 20:42:03       13 阅读
  5. Linux监听某个进程,自动重启

    2024-05-11 20:42:03       11 阅读
  6. 数据字典是什么?

    2024-05-11 20:42:03       15 阅读
  7. 【前端每日基础】day2 const var let的区别

    2024-05-11 20:42:03       14 阅读
  8. MySQL学习笔记12——效率和优化

    2024-05-11 20:42:03       41 阅读