阅读量:0
在 C 语言中,可以使用以下方法将两个结构体赋值:
- 逐个成员赋值:将源结构体的每个成员的值分别赋给目标结构体的对应成员。例如:
struct Point { int x; int y; }; // 创建源结构体 struct Point source = {1, 2}; // 创建目标结构体 struct Point target; // 逐个成员赋值 target.x = source.x; target.y = source.y;
- 使用赋值运算符:将源结构体直接赋给目标结构体,会自动进行结构体的成员拷贝。例如:
struct Point { int x; int y; }; // 创建源结构体 struct Point source = {1, 2}; // 创建目标结构体,并使用赋值运算符赋值 struct Point target = source;
需要注意的是,结构体的赋值操作只会拷贝结构体的值,而不会影响结构体内指针指向的内存地址。如果结构体内部包含指针成员,需要特别注意避免出现浅拷贝导致的问题。