深入c语言_存储类型
来源:互联网 发布:站长工具查询端口 编辑:程序博客网 时间:2024/05/17 00:51
了解计算机的都知道内存有很多种,比如寄存器,内存,内存中又有很多段,代码段,数据段,堆栈等等与编程相关的,数据段还可以细分,初始化的,未初始化的,只读的等等。所以一个变量,可以在多种地方存储。变量的存储类型就是告诉变量存储在哪些地方的,虽然这么说不太严谨,因为有寄存器类型的导致的,但是可以这么理解。最重要的是根据变量的存储类型可以确定变量的生命周期。这个很好理解,栈的变量和堆的变量以及数据段的变量生命周期肯定是不一样的,应为栈的变量在出栈后就不能用了,堆里的变量free后就不能用了。
我们把内存在这里分成三类,寄存器,运行时的堆栈,普通内存。就是把除了寄存器的内存在另一个角度看待又分了一下。
具有代码块类型的变量的存储类型是auto,对应的是堆栈中,离开代码块后变量便销毁了。但是如果在代码块中的变量被static修饰后,它的存储类型就变成了静态,对应的是普通内存。
auto类型的变量被register修饰后,它都有可能被存放到寄存器中,之所以说是有可能是因为,一个cpu里寄存器的数量非常少,而且寄存器都有不同的作用,所以给我们使用的寄存器不多,如果可以的话,cpu就把我们的变量存到寄存器,因为它只能修饰auto变量,所以它的声明周期和auto一样。
阅读全文
0 0
- 深入c语言_存储类型
- C语言存储类型
- C语言存储类型
- C语言存储类型
- C语言存储类型
- c语言存储类型
- C语言存储类型
- C语言_深入函数
- C语言_基本类型
- C语言_枚举类型_详解
- C语言变量存储类型
- C语言--变量存储类型
- c语言数据存储类型
- C 语言四大存储类型。。。
- 【C语言学习】存储类型
- C语言中的存储类型
- C语言变量存储类型
- C语言存储类型总结
- 用Redis Desktop Manager连接Redis(CentOS)
- MYSQL选择数据库
- 羊皮卷之六
- xshell连接VMware本地安装的Linux虚拟机
- web前段设计之痛:手机浏览器和pc浏览器的width:100%的自适应问题
- 深入c语言_存储类型
- 数据库-各种范式
- matlab里save函数用法
- Map的遍历方法
- HDU 1022:Train Problem I(堆栈的基本应用)
- java面向对象笔记总结
- 机器学习--PCA主成份分析
- MySQL 数据类型
- cocos Creater学习(一)