C语言变量的属性
来源:互联网 发布:房屋中介管理系统源码 编辑:程序博客网 时间:2024/05/18 02:55
变量的属性有五种:
(1)名字(必须显示说明)
(2)类型 (必须显示说明)
(3)存储类别 (缺省方式或显示说明(使用:auto、register、static、extren))
(4)作用域 (由存储类别决定)
(5)生存期 (由存储类别决定)
前两种不必解释了,顾名思义。下面详细区分后三种概念:
- 变量的存储类别
定义:指系统对变量存储方式的规定。
分类:由存储方式的不同分为两类:
(1)静态存储方式:指在程序运行期间,系统对变量固定地分配存储空间。即一旦分配,不在变化,直到整个程序运行结束。
(2)动态存储方式:指在程序运行期间,系统对变量动态地分配存储空间。即程序运行期间,可根据程序需求,动态分配。
存储类别既说明了变量的存储单元,又说明了变量的生存的时间和作用域。
具体包含四种:
在讨论一下四种限定符之前,先注明一个事实:在某一个程序文件中定义的全局变量和函数均默认是外部的!即跨文件的,但为什么使用还要加extern?这个稍后再讲。
(1)自动变量auto:指不加说明的局部变量。变量生存期结束由系统自动释放其存储空间,故名自动。
(2)寄存器变量register:为提高程序执行效率,允许将局部变量的值存放于寄存器(而不必存在内存)中,但一般不提倡这种做法。
(3)static变量:可作用于局部变量和全局变量,故可分为:局部静态和全局静态。静态(static)说的是:生存期;而局部or全局说的是:作用域(However,此时应注意:由于全局变量作用域本来就默认为整个程序中,即可垮文件使用(公有);可一旦加上static修饰,则隐藏了变量或函数名字,使之成为本文件(模块)私有)。
(4)以extern声明的变量:指全局变量,若其要在其他文件中使用,需加以声明,方法-->使用前用extern作外部声明即可(通常放于文件开头,并且对于函数而言,通常省略关键字extern)。
总的来说:变量的存储类别+定义变量的位置 =》变量的作用域和生存期
- 变量的作用域
- 变量的生存期
- c语言变量的属性
- C语言变量的属性
- C语言变量属性
- c 语言变量的几个属性
- 思考C语言变量的几个“属性”
- C语言总结之变量的三个属性
- c语言之函数或者变量的weak属性
- C语言中变量的属性(auto static register)
- c语言的变量
- C语言的变量
- C语言的变量
- Objective-C语言--属性和实例变量
- Objective-C语言--属性和实例变量
- Objective-C语言--属性和实例变量
- C语言的变量和函数与java的属性和方法有什么区别
- C语言的静态变量
- C语言变量的初始化
- C语言的外部变量
- WindowsPhone 8&8.1 独立储存区文件操作
- poj 1222 EXTENDED LIGHTS OUT(高斯消元)
- log4j使用方法
- 【王道九度OJ】1061成绩排序
- fibonacci数列(tyvj 1337)
- C语言变量的属性
- 深入理解java异常处理机制
- 红黑树
- Linux测量kernel子模块加载时间的方法
- 无限循环的ViewPager
- require_once调用php定义类里面的函数
- uva10891
- SSH配置Struts2 一直跳转不过去问题
- Android中模拟home键功能