看板Programming
标 题Re: [问题] 阵列宣告?
发信站交大资科_BBS (Tue Apr 17 13:04:59 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
==> 在 [email protected] (SHAZNA) 的文章中提到:
> 假设我现在要宣告一个
> int PTT[N][5]; 的阵列
> 则 N 最大能到多大呢 ??
> 如果用动态宣告的话
> 是否此 N 的值会比写死更大呢??
> 另外
> gcc 在编的时候是否会直接把此阵列先预设一块空间给它
> 而使得编出来的程式变很大??
> 谢谢各位 <(_ _)>
可以写多大其实并没有统一答案,这个没有规范。
若是你的阵列很大,应该考虑动态的记忆体体配置,比方 C 内可以用 malloc,
C++ 内改用 new 应该都是很好方式。後续就看你系统实体记忆体可用与定址限制
而有所差别。
至於若是你预先宣告很大的阵列,放在 function 内一般都占用 stack 来配置,
这可能程式运作时发生 stack overflow,所以你可能要调整编译该程式时给的
stack 大小。
而若是你把阵列放在 function 以外成为一般的整体变数的话,那一般通常程式
编译出来档案大小不会很大,而是执行期才会占用大量记忆体。不过若是你的
阵列有初始化内容,那程式档案编译出来就会预先占用大量磁碟空间。
--
相信一种真诚存在於心与心之间...
--
* Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>