变量的存储类别小总结
2017-11-18 17:00
190 查看
对一个数据的定义,需要指定两种属性:存储类别和数据类型。其中存储类别有以下几种:static(静态变量)、auto(自动变量,一般没加存储类别都默认是自动变量,如果int a,就是一个自动变量)、register(寄存器变量)、extern(外部变量)。
我们可以从一下几个角度来区别这些变量:
1、从作用于角度分:局部变量和全局变量
(1)局部变量:
自动变量,即动态局部变量(离开函数,值消失);
静态局部变量(离开函数,值保存);
寄存器变量(离开函数,值消失)—— 跟自动变量的区别就是自动变量存储于内存,而寄存器变量存放于寄存器,读取速度比自动变量快。
(2)全局变量:
静态外部变量(只限本文件引用);
外部变量(允许其他文件引用);
2、从变量存在时间分:动态存储和静态存储
(1)动态存储:
自动变量(本函数内有效);
寄存器变量(本函数内有效);
形式参数(本函数内有效);
(2)静态存储:
静态局部变量(本函数内有效);
静态外部变量(本文件内有效);
外部变量(其他文件可引用);
3、从存放位置上分:
(1)内存中的静态存储区:静态局部变量,静态外部变量,外部变量;
(2)内存中的动态存储区:自动变量和形式参数;
(3)cpu中寄存器:寄存器变量;
我们可以从一下几个角度来区别这些变量:
1、从作用于角度分:局部变量和全局变量
(1)局部变量:
自动变量,即动态局部变量(离开函数,值消失);
静态局部变量(离开函数,值保存);
寄存器变量(离开函数,值消失)—— 跟自动变量的区别就是自动变量存储于内存,而寄存器变量存放于寄存器,读取速度比自动变量快。
(2)全局变量:
静态外部变量(只限本文件引用);
外部变量(允许其他文件引用);
2、从变量存在时间分:动态存储和静态存储
(1)动态存储:
自动变量(本函数内有效);
寄存器变量(本函数内有效);
形式参数(本函数内有效);
(2)静态存储:
静态局部变量(本函数内有效);
静态外部变量(本文件内有效);
外部变量(其他文件可引用);
3、从存放位置上分:
(1)内存中的静态存储区:静态局部变量,静态外部变量,外部变量;
(2)内存中的动态存储区:自动变量和形式参数;
(3)cpu中寄存器:寄存器变量;
相关文章推荐
- 变量的存储类别小总结
- C++变量的存储类别(动态存储、静态存储、自动变量、寄存器变量、extern、static) 总结
- C语言变量的存储类别专题讲座-学C者必看
- 变量的存储方式和存储类别
- 变量的存储类别详解一
- 转:类别,属性,成员变量,arc学习总结
- 变量的存储类别详解二
- 类别,属性,成员变量,arc学习总结
- 【总结】【变量】变量的存储域 [转]
- C语言中的变量访问控制和存储类别
- 关于C语言中存储类别、链接的总结
- C++变量的存储类别(动态存储、静态存储、自动变量、寄存器变量、外部变量)
- 4.12、变量的存储类别
- c语言 变量的存储类别以及对应的内存分配?
- 变量的存储类别
- C语言-变量的存储类别(auto, static, register, extern)
- 关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
- C语言温习笔记之变量的存储类别
- C++变量的存储类别(动态存储、静态存储、自动变量、寄存器变量、
- C++学习 【4.5】 利用函数实现指定的功能---局部变量、全局变量、变量的存储类别、声明和定义