指针的深拷贝

在对指针进行操作时经常会涉及到指针的拷贝,一般来讲指针的拷贝分为两种:深拷贝与浅拷贝。两者之间使用不当会造成很恶劣的影响。下面实例说明:

我们先设定一个字符串指针s,假设其指向内存的内容是“adfsdfsf”,记该存储区域为M,那么我们得知,s指针所指向区域M。若我们的用指针p对其内容进行浅拷贝,那么我们得到了另一个指向M的指针,即p=s,此时p和s的作用相同,指向内存也相同,所不同的只是名字罢了。若我们对p指针指向的内容进行操作,那么s指针所指向的内容也会发生相应的改变,反之亦然。

若对s进行深拷贝,比如利用函数memcpy,该操作是将s的内存内容赋给p,此时虽然内存区域的内容是相同的,但p和s是两个指向两个不同内存区域的指针,对p或s的分别操作都不会影响到对方。

转载于:https://www.cnblogs.com/Aurora-Borealis/p/11242909.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值