当前位置:首页 » 存储配置 » 存储变量分配

存储变量分配

发布时间: 2025-04-23 22:32:16

㈠ 静态存储分配和动态存储分配之间有什么不同 编译原理

动态存储方式
所谓动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元,
使用完毕立即释放。
典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,
调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、
释放形参变量的存储单元。
静态存储方式
所谓静态存储方式是指在程序编译期间分配固定的存储空间的方式。该存储方式通常是在变量定义时就分定存储单元并一直保持不变,
直至整个程序结束。全局变量,静态变量等就属于此类存储方式。
总结
从以上分析可知,
静态存储变量是一直存在的,
而动态存储变量则时而存在时而消失。我们又把这种由于变量存储方式不同而产生的特性称变量的生存期。
生存期表示了变量存在的时间。
生存期和作用域是从时间和空间这两个不同的角度来描述变量的特性,这两者既有联系,又有区别。
一个变量究竟属于哪一种存储方式,
并不能仅从其作用域来判断,还应有明确的存储类型说明。

㈡ 全局变量的存储空间在什么时候分配分配在哪

在程序开始执行的时候给全局变量分配存储区,分配到静态存储区中,程序执行完毕就释放。
静态局部变量是在编译时赋初值的,在静态存储区内分配存储单元。

㈢ 51单片机定义变量时默认是存储到哪里的

未显式声明的情况下,变量会根据Memory Model的设置,默认分配在指定的存储区。

  • Small模式:默认分配在data区

  • Compact模式:默认分配在pdata区

  • Large模式:默认分配在xdata区

新建工程默认都是Small模式,所以未显式声明存储区域的变量都会分配在data区的。所以才会容易出现data区挤爆、编译器跳着脚让你把变量分到idata区去……

热点内容
android图标规范 发布:2025-04-24 03:47:09 浏览:181
freebsd源码下载 发布:2025-04-24 03:40:47 浏览:931
androidmjpeg 发布:2025-04-24 03:34:59 浏览:421
苹果7p文件存储管理器叫什么 发布:2025-04-24 03:34:19 浏览:381
金盾加密器破解版 发布:2025-04-24 03:29:58 浏览:984
手机游戏写脚本用什么软件 发布:2025-04-24 03:27:08 浏览:906
efs加密解密 发布:2025-04-24 02:57:38 浏览:293
没编程器固件 发布:2025-04-24 02:57:35 浏览:129
源程序编译成目标程序是什么 发布:2025-04-24 02:47:42 浏览:531
ifile文件夹乱码 发布:2025-04-24 02:28:14 浏览:320