溫馨提示×

C語言結(jié)構(gòu)體嵌套如何賦值

小億
303
2023-12-11 16:54:01
欄目: 編程語言

在C語言中,結(jié)構(gòu)體嵌套的賦值可以使用兩種方式:點運算符和賦值運算符。

  1. 使用點運算符: 結(jié)構(gòu)體嵌套時,可以通過點運算符來訪問內(nèi)層結(jié)構(gòu)體的成員,然后進行賦值操作。具體步驟如下:
#include <stdio.h>

// 定義內(nèi)層結(jié)構(gòu)體
struct InnerStruct {
    int innerValue;
};

// 定義外層結(jié)構(gòu)體,包含內(nèi)層結(jié)構(gòu)體作為成員
struct OuterStruct {
    int outerValue;
    struct InnerStruct inner;
};

int main() {
    // 創(chuàng)建外層結(jié)構(gòu)體對象
    struct OuterStruct outer;

    // 給外層結(jié)構(gòu)體成員賦值
    outer.outerValue = 10;

    // 給內(nèi)層結(jié)構(gòu)體成員賦值
    outer.inner.innerValue = 20;

    // 打印結(jié)果
    printf("Outer value: %d\n", outer.outerValue);
    printf("Inner value: %d\n", outer.inner.innerValue);

    return 0;
}
  1. 使用賦值運算符: 可以使用賦值運算符將一個結(jié)構(gòu)體對象的值賦給另一個結(jié)構(gòu)體對象。具體步驟如下:
#include <stdio.h>

// 定義內(nèi)層結(jié)構(gòu)體
struct InnerStruct {
    int innerValue;
};

// 定義外層結(jié)構(gòu)體,包含內(nèi)層結(jié)構(gòu)體作為成員
struct OuterStruct {
    int outerValue;
    struct InnerStruct inner;
};

int main() {
    // 創(chuàng)建外層結(jié)構(gòu)體對象
    struct OuterStruct outer1;

    // 給外層結(jié)構(gòu)體成員賦值
    outer1.outerValue = 10;
    outer1.inner.innerValue = 20;

    // 創(chuàng)建新的外層結(jié)構(gòu)體對象
    struct OuterStruct outer2;

    // 使用賦值運算符將outer1的值賦給outer2
    outer2 = outer1;

    // 打印結(jié)果
    printf("Outer value: %d\n", outer2.outerValue);
    printf("Inner value: %d\n", outer2.inner.innerValue);

    return 0;
}

無論是使用點運算符還是賦值運算符,都可以對結(jié)構(gòu)體嵌套進行賦值操作。

0