1. 變量的分類:html
類成員變量,全局變量,局部變量, 參數變量,靜態變量等;linux
不一樣類型的變量的大小容量有限。windows
2. 變量大小容量: 數組
容量大小從小到大:緩存
棧≤全局數據≤堆≤文件≤硬盤≤磁盤陣列≤雲存儲
函數
當程序須要使用好比2GB~1TB左右的存儲時,最簡單的辦法恐怕得是用文件讀寫模擬內存讀寫了吧。windows參考_fseeki64函數,linux參考fseeko64函數。post
由於你不管怎麼開全局數組,棧的大小是被編譯器限制了的,因此最好仍是用new去使用堆內存生成動態數組。url
變量選擇內存位置須要注意:棧大小<全局變量<堆(malloc/free, new/delete)
另外,若是要計算中文出現的頻率,須要每一箇中文都先讀到內存裏嗎?我的的建議是每次讀出一個加入申請的緩存裏,若讀到已經在緩存裏存在的不須要在放到緩存裏而是直接讓計數加1便可,這樣若是中文詞出現的頻率較大時,能夠減小不少的緩存,這樣也不須要申請太大的緩存,能夠在堆上申請空間,由於能夠動態申請。保證內存不浪費。htm