高等 C 語言 -- 陣列大小的問題

高等 C 語言

簡介

字串

指標與陣列

函數

結構

物件導向

記憶體

檔案

錯誤處理

巨集處理

C 與組合語言

資料結構

動態字串

動態陣列

鏈結串列

雜湊表

開發環境

Make

Cygwin

MinGW

DevC++

wxDevC++

編譯器

gcc 編譯器

TinyCC 編譯器

LCC 編譯器

應用主題

CGI 程式

GNU 程式

視窗程式

影像處理

練習題

訊息

相關網站

參考文獻

最新修改

簡體版

English

在 C 語言當中,陣列大小是很難決定的問題,因為一般的 C 語言並沒有提供垃圾蒐集機制。

解決這個問題的方法有兩種,第一種是採用如前述的動態陣列,如此陣列大小會隨著您加入的元素多少而自動成長,因而能夠解決這個問題。

第二種方法是不要採用 malloc 的動態分配機制,而是改用靜態的陣列進行宣告,如此您就必須能夠明確的知道陣列所能容納的元素個數。舉例而言,假如您要用一個陣列儲存一年中每一天所花費的錢,那麼就可以用 int money[366]; 這樣的宣告,因為您早已知道最大的陣列大小為 366,因此可以很容易的決定。

如果不是這種很明確的情形,而是要用來儲存像符號表這樣的表格,那筆者建議您不要使用靜態陣列,改採前述的動態陣列來實作,您會發現這種作法比硬去宣告一個很大的陣列好多了。

當您還需要位陣列大小傷腦筋時,應該就是想錯方向了,請改用動態陣列。

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License