社区
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]
...全文
243
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开始。
数组
下标超出...
牛客刷题笔记--(
数组
专项练习1-77)
1 下面哪项是
数组
优于链表的特点? D 方便删除 ...D 链表要保存指向下个节点的指针,
占用
空间比
数组
更大 2 在C++中,以下定义和初始化的两
数组
a1和a2,那么下列说法正确的是( D)。 a1和a2完全相同
Delphi
5,929
社区成员
262,934
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章