嵌入式工程师—每日一问Day5

局部、全局位于何处

程序的局部变量在栈内分配存储空间,如果该变量在函数中多次被调用,每次变量在栈上的位置也不一定相同。局部变量也可以在堆上动态分配,但是记得使用完这个堆空间后要释放之。

静态局部变量(static)在静态存储区内分配存储单元。在程序整个运行期间都不释放,但是对于其他函数无法访问。

全局变量在静态存储区,程序开始执行时给全局变量分配存储区,程序执行完毕释放。

动态申请数据存在于堆区。

局部、全局变量重名

在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。

对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值