c语言结构体赋值的方法是什么
在 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;
}
需要注意的是,结构体赋值时是按值传递的,即会将结构体中的所有成员的值都复制给目标结构体,而不是复制结构体的指针。