当前位置:网站首页>一个结构体 = 另一个结构体(同类型结构体之间可直接赋值操作)
一个结构体 = 另一个结构体(同类型结构体之间可直接赋值操作)
2022-08-02 03:22:00 【a只如初见】
两个同类型结构体变量可以直接赋值,不同类型结构体不能直接赋值。
#include <stdio.h>
struct TEST{
int a;
int b;
char c[3];
char *ptr;
};
int main(){
struct TEST a={
1,2,{
'a','b','c'}, (char *)"jkjk"};
struct TEST b={
0};
printf("a.a=%d a.b=%d a.c[0]=%c a.ptr=%s\n", a.a, a.b, a.c[0], a.ptr);
printf("b.a=%d b.b=%d b.c[0]=%c\n", b.a, b.b, b.c[0]);
b = a;
printf("b.a=%d b.b=%d b.c[0]=%c b.ptr=%s\n", b.a, b.b, b.c[0], b.ptr);
return 0;
}
运行结果(VS2019):
还有种方法使两个同类型结构体内容相同就是用memcpy函数来拷贝,也是可以的,因为结构体本身就是一个内存区。
int main() {
struct TEST a = {
1,2,{
'a','b','c'}, (char *)"jkjk" };
struct TEST b = {
0 };
printf("a.a=%d a.b=%d a.c[0]=%c a.ptr=%s\n", a.a, a.b, a.c[0], a.ptr);
printf("b.a=%d b.b=%d b.c[0]=%c\n", b.a, b.b, b.c[0]);
//b = a;
memcpy((char *)&b, (char *)&a, sizeof(a));
printf("b.a=%d b.b=%d b.c[0]=%c b.ptr=%s\n", b.a, b.b, b.c[0], b.ptr);
return 0;
}
这里要提一句,数组不能像结构体那样直接赋值。
边栏推荐
- DAY-1 | 求两个正整数的最大公约数与最小公倍数之和——辗转相除法
- JJWT工具类
- Phospholipid-polyethylene glycol-hydrazide, DSPE-PEG-Hydrazide, DSPE-PEG-HZ, MW: 5000
- Error: with open(txt_path,'r') as f: FileNotFoundError: [Errno 2] No such file or directory:
- 【面试】失败的一次面试
- 腾讯50题
- 我的两周年创作纪念日
- Dynamic proxy tool class
- 磷脂-聚乙二醇-醛基 DSPE-PEG-Aldehyde DSPE-PEG-CHO MW:5000
- Chemical reagent Phospholipid-polyethylene glycol-hydroxyl, DSPE-PEG-OH, DSPE-PEG-Hydroxyl, MW: 5000
猜你喜欢

「PHP基础知识」PHP中对象的使用

redis进行持久化时,有新的写操作将如何解决——写时复制

PCL—点云数据分割

AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'

离线数仓-用户行为采集

APK的安装过程分析 PMS包管理器

Redis笔记进阶篇:万字长文-整理Redis,各种知识点,建议收藏

subprocess.CalledProcessError: Command 'pip install 'thop'' returned non-zero exit status 1.

@Accessors 注解详解

DSPE-PEG-DBCO 磷脂-聚乙二醇-二苯并环辛炔 一种线性杂双官能聚乙二醇化试剂
随机推荐
Scientific research reagent DMPE-PEG-Mal dimyristoylphosphatidylethanolamine-polyethylene glycol-maleimide
STL entry basics map and set containers
subprocess.CalledProcessError: Command 'pip install 'thop'' returned non-zero exit status 1.
Problems when yolov5 calls ip camera
周日数据库作业
MySQL占用CPU过高,排查原因及解决的多种方式法
3分钟带你了解微信小程序开发
【装机】老毛桃的安装及使用
HCIP-第十一天-MPLS+BGP
MySQL分组后取最大一条数据【最优解】
RHCSA第二天
About cross-domain issues
分布式领域最重要的一篇论文,到底讲了什么?
np.isnan ()
[Mianjing] Mihayou data development on one side and two sides
解决glob()返回文件排序不一致问题&onnx本地按照安装方法
磷脂-聚乙二醇-酰肼,DSPE-PEG-Hydrazide,DSPE-PEG-HZ,MW:5000
跨域问题解决
np.isnan()
The @autowired distinguished from @ the Resource