MSP430单片机全局变量与局部变量

本文讨论了MSP430单片机中全局变量和局部变量的存储位置及作用。全局变量存储在RAM低地址并向高地址增长,局部变量在堆栈中从高地址向低地址分配,过多可能导致溢出。局部变量在函数内部使用,全局变量在整个程序中可见,可能导致耦合性提高和维护困难。建议限制全局变量的使用以提高代码的可维护性和稳定性。
摘要由CSDN通过智能技术生成


全局变量是存在RAM中的,而局部变量是存在堆栈中的

 

全局变量是从低地址往高地址存,局部变量是从RAM的高地址往低地址存,如果你定义的变量太多就有可能是溢出了

在MSP430中,局部变量如果不多,就会分配r4-r15的寄存器,如果数量大就会用压栈处理。

 

全局变量是使用相同的内存块在整个类中存储一个值.
全局变量的存在主要有以下一些原因:
1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不成为什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。
2,使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样现在也快不了多少。
3,对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。
        总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使期名字易于理解,而且不能太短,避免名字空间的污染;避免使用巨大对象的全局变量。
局部变量:在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。
全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值