陣列大小的問題

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

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

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

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

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