Re: [問題] 陣列宣告?
==> 在 CKSHAZNA.bbs@ptt.cc (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>
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章
12
21