在C语言中,结构体嵌套的赋值可以使用两种方式:点运算符和赋值运算符。
#include <stdio.h>
// 定义内层结构体
struct InnerStruct {
int innerValue;
};
// 定义外层结构体,包含内层结构体作为成员
struct OuterStruct {
int outerValue;
struct InnerStruct inner;
};
int main() {
// 创建外层结构体对象
struct OuterStruct outer;
// 给外层结构体成员赋值
outer.outerValue = 10;
// 给内层结构体成员赋值
outer.inner.innerValue = 20;
// 打印结果
printf("Outer value: %d\n", outer.outerValue);
printf("Inner value: %d\n", outer.inner.innerValue);
return 0;
}
#include <stdio.h>
// 定义内层结构体
struct InnerStruct {
int innerValue;
};
// 定义外层结构体,包含内层结构体作为成员
struct OuterStruct {
int outerValue;
struct InnerStruct inner;
};
int main() {
// 创建外层结构体对象
struct OuterStruct outer1;
// 给外层结构体成员赋值
outer1.outerValue = 10;
outer1.inner.innerValue = 20;
// 创建新的外层结构体对象
struct OuterStruct outer2;
// 使用赋值运算符将outer1的值赋给outer2
outer2 = outer1;
// 打印结果
printf("Outer value: %d\n", outer2.outerValue);
printf("Inner value: %d\n", outer2.inner.innerValue);
return 0;
}
无论是使用点运算符还是赋值运算符,都可以对结构体嵌套进行赋值操作。