当前位置:网站首页>一个结构体 = 另一个结构体(同类型结构体之间可直接赋值操作)
一个结构体 = 另一个结构体(同类型结构体之间可直接赋值操作)
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;
}
这里要提一句,数组不能像结构体那样直接赋值。
边栏推荐
- 2022年比若依更香的开源项目
- STL entry basics map and set containers
- DAY-1 | 求两个正整数的最大公约数与最小公倍数之和——辗转相除法
- 基本运算符
- oracle inner join and outer join
- parser = argparse.ArgumentParser()解析
- docker 安装 sqlserver中的坑点
- HCIP-第十天-BGP综合实验
- AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/yolov5-5.0/models/commo
- Phospholipid-polyethylene glycol-thiol, DSPE-PEG-Thiol, DSPE-PEG-SH, MW: 5000
猜你喜欢

Knowledge Engineering Assignment 2: Introduction to Knowledge Engineering Related Fields

Redis安装,基本命令,持久化方式,集群

@DateTimeFormat注解

解决glob()返回文件排序不一致问题&onnx本地按照安装方法

DSPE-PEG-Silane,DSPE-PEG-SIL,磷脂-聚乙二醇-硅烷修饰活性基团

小程序组件总结

Redis的集群模式

Problems when yolov5 calls ip camera

Amazon sellers how to improve the conversion

Week 7 Review
随机推荐
【深度学习】从LeNet-5识别手写数字入门深度学习
ssm various configuration templates
parser = argparse.ArgumentParser() parsing
二维数组实战项目--------《三子棋》
The @autowired distinguished from @ the Resource
磷脂-聚乙二醇-靶向新生血管靶向肽APRPG,DSPE-PEG-APRPG
周日数据库作业
错误:with open(txt_path,‘r‘) as f: FileNotFoundError: [Errno 2] No such file or directory:
@Autowired详解[email protected]在static属性上的使用
DOM destruction and reproduction experiment
mysql卸载详细教程
Usage of JOIN in MySQL
np.isnan()
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boo
MySQL分组后取最大一条数据【最优解】
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boo
MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
subprocess.CalledProcessError: Command 'pip install 'thop'' returned non-zero exit status 1.
Cut out web icons through PS 2021
Mysql8.0安装教程