指针的深拷贝
在對(duì)指針進(jìn)行操作時(shí)經(jīng)常會(huì)涉及到指針的拷貝,一般來(lái)講指針的拷貝分為兩種:深拷貝與淺拷貝。兩者之間使用不當(dāng)會(huì)造成很惡劣的影響。下面實(shí)例說(shuō)明:
我們先設(shè)定一個(gè)字符串指針s,假設(shè)其指向內(nèi)存的內(nèi)容是“adfsdfsf”,記該存儲(chǔ)區(qū)域?yàn)镸,那么我們得知,s指針?biāo)赶騾^(qū)域M。若我們的用指針p對(duì)其內(nèi)容進(jìn)行淺拷貝,那么我們得到了另一個(gè)指向M的指針,即p=s,此時(shí)p和s的作用相同,指向內(nèi)存也相同,所不同的只是名字罷了。若我們對(duì)p指針指向的內(nèi)容進(jìn)行操作,那么s指針?biāo)赶虻膬?nèi)容也會(huì)發(fā)生相應(yīng)的改變,反之亦然。
若對(duì)s進(jìn)行深拷貝,比如利用函數(shù)memcpy,該操作是將s的內(nèi)存內(nèi)容賦給p,此時(shí)雖然內(nèi)存區(qū)域的內(nèi)容是相同的,但p和s是兩個(gè)指向兩個(gè)不同內(nèi)存區(qū)域的指針,對(duì)p或s的分別操作都不會(huì)影響到對(duì)方。
轉(zhuǎn)載于:https://www.cnblogs.com/Aurora-Borealis/p/11242909.html
總結(jié)
- 上一篇: 奔腾B70尊享版能用奔腾数字钥匙吗?
- 下一篇: 长春华星行奔驰店总电话多少?