指標心得記錄

雖然指標在傳遞後可以很方便的修改其內容而不用回傳值,但其實也伴隨著風險,當不想修改到主程式之中變數的內容值時,使用指標傳遞位址給函式運作是有修改到的風險,所以:

1.能傳遞數值就傳數值,可以避免使用傳遞指標位址就不使用。
2.傳遞一份複製的數值用起來相對安全(且保持主、函式之間更乾淨)
3.可傳遞一般常數(方便使用),但指標位址不能使用常數(沒有類似&3或&16)

但有幾種應該採取傳遞指標記憶體位址的狀況:
1.當複製成本過高時【結構過度龐大或複雜】。
2.需要改變到引數(主程式的變數內容)時【例如比大小,數字交換等等】。
3.不能複製到數值、過度麻煩或困難取得數值時【例如陣列、字串】。

留言