51单片机中数组的存储位置

      在51单片机中数组的存储位置无非就是RAM和ROM那么什么时候数据会存储到RAM什么时候数据存储到ROM我大致分了一下几种情况。

1:在全局定义的数组: eg: char a [3]={0};  此时数组a的存储位置为RAM。为什么全局变量会存储到RAM里?因为全局变 量在程序里面随时可能会被修改,比如自己调用,所以不能存储到ROM里。如下图: 

定义全局变量text
对应的汇编语言
在RAM中的位置

如上图我们定义一个数组text可以看到其存储的位置为RAM。

2:code +全局数组  eg: code char a[3]=0{};此时a的存储位置为ROM。



可以看到此时数组text的存储位置为ROM。

3:局部数组 。此时数组的存储位置为ROM



从图中可以看到数组a的数据被存储到 ROM里0137H的位置。

4:static +局部数组。此时数组的存储位置为RAM。



如图,当加上static后数组存储位置变为RAM里的08H。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 132,633评论 18 139
  • 姓名:李涛 学号:17021211100 转载自http://mp.weixin.qq.com/s/YUXrJbi...
    关公面前叠飞机阅读 1,320评论 1 9
  • 风和日丽的下午,喝着咖啡,无聊的看着窗外,突然一辆救火车进入视线。然后下来两位救火员来到对面的邻居家和女主人交谈着...
    小老郑阅读 176评论 0 1
  • 我的爸爸,是一个很怕麻烦的人。 他怕麻烦,爱享受,也善于撒娇。我娘是相当不齿他撒娇的,深深吐槽。 而他为数不多的一...
    晚晚inna阅读 385评论 0 2
  • 朋友约我散步,路上不断向我诉苦,说孩子不懂事,都12岁了,每天早上为叫她起床还得费好大的劲儿;每天晚上为督促她写作...
    海岸线心理刘亿阅读 300评论 0 0