【C】结构体赋值

结构体赋值

例如:

#include <stdio.h>
#include <string.h>

struct Inner {
    int x;
    char name[20];
};

struct Outer {
    int id;
    struct Inner inner;
};

初始化赋值(定义时):

struct Outer o1 = {
    .id = 1,
    .inner = {
        .x = 100,
        .name = "test"
    }
};

定义后分步赋值:

struct Outer o2;

o2.id = 2;
o2.inner.x = 200;
strcpy(o2.inner.name, "hello");

结构体可以直接整体赋值(同类型结构体):

struct Outer o3 = {3, {300, "world"}};
struct Outer o4;

o4 = o3;  // 整体赋值

✅ C语言允许结构体之间整体复制,编译器会自动拷贝每个成员。

posted @ 2025-11-03 21:52  苏格拉底的落泪  阅读(7)  评论(0)    收藏  举报