C言語でネストした構造体の値の代入方法
C言語では、構造体のネストされた代入は、ドット演算子と代入演算子の2通りの方法で行えます。
- ネストされた構造体の場合、ドット演算子を使用することで、内側の構造体のメンバーにアクセスし、代入操作を実行できます。具体的な手順は次のとおりです。
#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;
}
ドット演算子や代入演算子を用いて、構造体ネストの代入処理が行える。