社区
Delphi
帖子详情
原来声明静态数组不占用内存呀
fj218
2003-12-29 01:11:20
比如
var
a:array [1..10000] of array [1..10000] of int64;
声明后居然不占用内存,而改用动态内存,就会占用。
另外声明一个最大的静态数组该如何写。是不是这样
var
a:array [1..Maxint div 2-1]
...全文
241
14
打赏
收藏
原来声明静态数组不占用内存呀
比如 var a:array [1..10000] of array [1..10000] of int64; 声明后居然不占用内存,而改用动态内存,就会占用。 另外声明一个最大的静态数组该如何写。是不是这样 var a:array [1..Maxint div 2-1]
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
搬运工木木
2004-01-04
打赏
举报
回复
倒。。。。看书去吧,看一看静态变量和动态变量在内存中是怎么样分布的
mxk19791116
2003-12-29
打赏
举报
回复
呵呵
fj218
2003-12-29
打赏
举报
回复
To: qiume(杜克) 我真不知你测试过没有。
我就是这样测试的,内存一点也没变,不信你试。
47522341
2003-12-29
打赏
举报
回复
楼主是放分贴就早说吗;^_^
qiume
2003-12-29
打赏
举报
回复
肯定占用内存,你可以这样测试:
procedure TForm1.Button1Click(Sender: TObject);
var
a:array [1..10000] of array [1..10000] of int64;
begin
end;
//
1, 打开任务管理器
2,运行你的程序(注意看你的程序占了多少内存)
3,按下Button1,再看任务管理器
4,你发现内存涨了!!!
fj218
2003-12-29
打赏
举报
回复
不信,大家可以在程序中声明一个比较大的静态动态数组,然后打开windows任务管理器察看内存变化,运行后没有任何改变。而声明为动态数组,执行setlength后,内存就会减少。我估计静态变量是赋了值后才占用内存。
抱朴守拙
2003-12-29
打赏
举报
回复
肯定占内存的。
jackieji
2003-12-29
打赏
举报
回复
8可能地,没内存咋运行涅?!
静态声明,是在运行之前就分配好到数据区(内存),他的生存期与整个程序相同;
而动态声明,随时可以释放掉的。
noproblem12
2003-12-29
打赏
举报
回复
不可能不占内存的
hch_45
2003-12-29
打赏
举报
回复
在var中声明的变量是在栈中分配的,这由编译器对其管理而不是没有分配内存。
fj218
2003-12-29
打赏
举报
回复
我已测试过多遍,静态数组声明不占用内存,赋值后才占用,更令人惊讶的是即使是局部声明,静态数组一旦占用内存就不会释放,直到程序退出后才释放。而动态数组可以通过置nil可以释放内存。
delphipan
2003-12-29
打赏
举报
回复
搞不懂
jxc163
2003-12-29
打赏
举报
回复
?
xinghf
2003-12-29
打赏
举报
回复
不可能
静态
数组
,全局
数组
,局部
数组
的初始化区别,局部
数组
属于局部变量,未初始化是随机数,如果局部
数组
太大就发生堆栈溢出
定义
数组
后,未初始化 ...//定义
静态
全局
数组
,未初始化
数组
成员 int array_glogal[LEN1]; //定义全局
数组
,但未初始化
数组
成员 int main() { char key = 6; switch(key) { case 6: { int i = 0; int arr...
C++ vector 使用详解
目录 介绍两个关键词 元素访问 迭代器 空间 ...C++的vector本质上是一个动态
数组
,它的元素是连续存储的,这意味着不仅可以通过迭代器访问元素,还可以使用指向元素的常规...vector通常比
静态
数组
占用
更多的空间,...
5、
数组
作业
1.
数组
会在
内存
中开辟一块________的空间,每个空间相当于之前的一个变量,称为
数组
的元素。
数组
的长度一经确定,就无法再改变。 2.要获取一个
数组
的长度,可以通过_______属性来获取,但获取的只是为
数组
分配的空间...
易语言
数组
动态重定义操作指南
易语言以其直观的中文编程环境和丰富的功能库,为中文编程领域提供了一种新的可能。它支持
数组
等多种数据结构,是初学者入门...与普通
数组
声明
不同,重定义允许在不失去原有数据的情况下,按照新的要求扩展或压缩
数组
。
java
数组
基本概念
数组
是引用数据类型,有
内存
分配问题。
数组
动态初始化(
声明
并开辟
数组
):
数组
类型[]
数组
名称 = new
数组
类型[长度]; int[] data = new int[5]; a.
数组
通过下标索引来取得元素,默认从0开始。
数组
下标超出...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章