温馨提示×

C语言结构体嵌套如何赋值

小亿
332
2023-12-11 16:54:01
栏目: 编程语言

在C语言中,结构体嵌套的赋值可以使用两种方式:点运算符和赋值运算符。

  1. 使用点运算符: 结构体嵌套时,可以通过点运算符来访问内层结构体的成员,然后进行赋值操作。具体步骤如下:
#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;
}
  1. 使用赋值运算符: 可以使用赋值运算符将一个结构体对象的值赋给另一个结构体对象。具体步骤如下:
#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;
}

无论是使用点运算符还是赋值运算符,都可以对结构体嵌套进行赋值操作。

0