变量的属性

今天就主要从变量的生命周期、作用域、默认值、内存区域、链接属性来进行说明。

生命周期:指变量从被创建到销毁的时间段;从时间上体现变量的特性

作用域:就是变量发挥作用的区域(即变量的有效范围);从空间上体现变量的特性

默认值:就是系统在未初始化之前默认的值

内存区域:也就是变量的储存地方;大体上可分为全局(静态)变量区;栈(stack):堆(heap)

链接属性:是用来决定不同文件中出现的标识符;可以分为外部链接(external)、内部连接(internal)、空链接(none)

A、全局变量:定义在函数外部的变量

例:int g_a = 10;//全局变量

     生命周期:程序开始建立,程序结束时销毁

     作用域:从定义开始一直到本文件结束

     默认值:0

     内存区域:全局(静态)变量

     链接属性:外部

B、静态变量(static):值可以变;只要用于修饰函数

     生命周期:程序开始建立,程序结束时销毁

     作用域:从定义开始一直到本文件结束

     默认值:0

     内存区域:全局(静态)变量

     链接属性:内部

C、局部变量:定义在函数内部的变量,包括形参。

     生命周期:进入函数时创建,退出函数时销毁

     作用域:函数作用域(即在本函数内部有效)

     默认值:随机值。(Debug模式下会崩溃)

     内存区域:栈

     链接属性:无

D、静态局部变量

     生命周期:进入函数时创建(第一次),程序结束时销毁

     作用域:函数作用域

     默认值:0

     内存区域:静态变量区

     链接属性:无

在调用全局变量的时候,一般前边的加extern,是让编译器在遇到这个函数时,从其他文件中寻找这个函数,可以看做是一种声明。

若是想让一个函数不被其他文件调用,可以在前边加静态关键字static,这样,这个函数就不会被其他文件调用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值