在 C 语言中,可以使用以下方法为结构体赋值:
- 逐个成员赋值:可以通过结构体变量名加点操作符
.
访问结构体的成员,并为每个成员赋予相应的值。
struct Person { char name[20]; int age; }; int main() { struct Person p1; strcpy(p1.name, "John"); p1.age = 25; return 0; }
- 使用花括号直接赋值:可以使用花括号
{ }
来初始化结构体,并按顺序为每个成员赋值。
struct Person { char name[20]; int age; }; int main() { struct Person p1 = {"John", 25}; return 0; }
- 复制赋值:可以使用赋值操作符
=
将一个结构体变量的值复制给另一个结构体变量。
struct Person { char name[20]; int age; }; int main() { struct Person p1 = {"John", 25}; struct Person p2; p2 = p1; // 复制 p1 的值给 p2 return 0; }
需要注意的是,结构体赋值时是按值传递的,即会将结构体中的所有成员的值都复制给目标结构体,而不是复制结构体的指针。