C语言结构体成员赋值的深拷贝和浅拷贝

77 篇文章 46 订阅 ¥19.90 ¥99.00
本文探讨C语言中结构体的深拷贝和浅拷贝概念,通过实例分析了结构体在包含指针成员时浅拷贝导致的问题,并介绍了如何通过深拷贝解决这个问题,强调在处理结构体拷贝时要注意指针成员的特殊性,以避免潜在错误。
摘要由CSDN通过智能技术生成

关注、星标公众号,直达精彩内容

来源:技术让梦想更伟大

作者:李肖遥

最近在做通信协议的解析处理、传递分析等问题,总是遇到通信帧中的结构体拷贝等问题,遇到了一些坑,也是比较基础但是易错的C语言知识,一起来探究一下结构体的深拷贝和浅拷贝。

浅拷贝

C语言中的浅拷贝是指在拷贝过程中,对于指针型成员变量只拷贝指针本身,而不拷贝指针所指向的目标,它按字节复制的。我们分几种情况举例子来看一下。

结构体中不存在指针成员变量时

代码如下:

//在win10_64位+vs2017
//来源:技术让梦想更伟大
//作者:李肖遥
#include <stdio.h>
typedef struct {
    char name[64];
    int age;
}Member;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值