如何用好指針

先分清是指向棧區、靜態區的還是指向堆區的。要用好指針,一定要先定好指針的使用原則。
  1. 棧指針要用局部的,並具不要返回
  2. 堆指針也用局部的,但可能返回,但在函數外是看不到這個指針的。外部應用一個全局指針或變量接收這個返回值。
  3. 不要通過指向靜態區的指針改寫數據。
  4. 全局指針請不要移動。即一般只是作爲右值,不作爲左值。
  5. 堆指針要先free(),然後置空。如果僅僅是讓指針指向NULL,那麼就會造成這塊內存的丟失,即內存泄露
  6. 不用的指針要立即置空。
  7. 在指針的命名要能看出指針的指向區域。
  8. malloc的左值指針不要移動。
只用指向堆區的才能用free(),free的實質是將這段內存標記爲可再分配,裏面的數據還是沒有被清空,內存再分配時,裏面的數據有可能被改寫。free()後的堆指針也可以置空。防止重用垃圾數據。
指向靜態區的和棧區的置爲NULL就行了。
發佈了4 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章