在對指針進行操做時常常會涉及到指針的拷貝,通常來說指針的拷貝分爲兩種:深拷貝與淺拷貝。二者之間使用不當會形成很惡劣的影響。下面實例說明:函數
咱們先設定一個字符串指針s,假設其指向內存的內容是「adfsdfsf」,記該存儲區域爲M,那麼咱們得知,s指針所指向區域M。若咱們的用指針p對其內容進行淺拷貝,那麼咱們獲得了另外一個指向M的指針,即p=s,此時p和s的做用相同,指向內存也相同,所不一樣的只是名字罷了。若咱們對p指針指向的內容進行操做,那麼s指針所指向的內容也會發生相應的改變,反之亦然。指針
若對s進行深拷貝,好比利用函數memcpy,該操做是將s的內存內容賦給p,此時雖然內存區域的內容是相同的,但p和s是兩個指向兩個不一樣內存區域的指針,對p或s的分別操做都不會影響到對方。內存