【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语言允许结构体之间整体复制,编译器会自动拷贝每个成员。