Re: [問題] 陣列宣告?

看板Programming作者時間18年前 (2007/04/17 13:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
==> 在 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>
文章代碼(AID): #1695lJ00 (Programming)
討論串 (同標題文章)
文章代碼(AID): #1695lJ00 (Programming)