瀏覽單個文章
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
回覆: VC++的幾個問題part05..

好久不見啦~

1.陣列的長度 / 個別元素的長度,不就是陣列的元素的個數了嗎?

2. "指標陣列和一般的字元陣列相比,占用的記憶體會比較小"...我猜你大概是指「字串(char *)為什麼比字元陣列節省記憶體」吧(不是指標陣列)?!

如果要處理的字串長度變化大時(例如每個人的通訊地址),若是使用字元陣列,你必需要宣告一個「足夠大」的陣列,以應付各種可能(也許有人連太陽系地球都寫進去),那麼不但這個長度不好拿捏,且若是填入的字串很短,那麼豈不浪費剩餘的空間?簡單地說,就是「彈性差」,但是「效率高」,因為它在編譯期就知道要配置多大的記憶體空間了(好比你出去玩之前就先跟飯店訂好房間,那麼你一到目的地後就可以馬上下榻;若是你到了飯店再問有沒有空房,櫃臺再去查電腦,然後再告訴你房間號碼,這樣自然是比較慢的了)!

反之,若是使用字串,那就會在程式被執行時才去尋找一個可用的、連續的記憶體空間來放置這個字串,所以它的「彈性高」,但「效率差」(就好比你出發去玩之前不先找飯店訂房間,到了目的地之後再去找;這間飯店沒有房了再找另一間,直到找到為止)!這裡的彈性,指的就是「浪費記憶體的程度」囉!
舊 2003-10-14, 12:07 PM #3
回應時引用此文章
harrisonlin離線中