struct结构体中成员是数组
时间: 2023-05-24 14:06:32 浏览: 100
有可能,结构体中的成员可以是数组类型。例如:
struct student {
char name[20];
int scores[5];
};
这个结构体表示一个学生的姓名和五个科目的成绩,其中成绩以数组的方式存储。当定义一个该结构体类型的变量时,我们可以像下面这样使用它:
struct student s;
strcpy(s.name, "John");
s.scores[0] = 90;
s.scores[1] = 85;
s.scores[2] = 92;
s.scores[3] = 78;
s.scores[4] = 88;
这里,我们先把学生的姓名设为“John”,然后给他的五个科目分别赋值。注意,我们使用“s.scores[i]”来访问结构体中的数组成员。
相关问题
struct结构体中成员是数组怎么赋值
在结构体中定义的数组成员可以通过循环或一次性赋值进行初始化。以下是两种方法的示例:
1.循环赋值
struct student {
int id;
char name[20];
int scores[5];
};
// 初始化scores数组
struct student st;
for (int i = 0; i < 5; i++) {
st.scores[i] = i * 10;
}
2.一次性赋值
struct student {
int id;
char name[20];
int scores[5];
};
// 初始化scores数组
struct student st = {
.id = 1,
.name = "John",
.scores = {70, 80, 90, 85, 95},
};
结构体成员赋值给数组
在C++中,结构体(struct)成员可以直接赋值给数组,前提是这个数组能够容纳相同类型的结构体数量。这是因为在C++里,你可以将单个结构体的成员看作是一个单独的数据类型。这里有一个简单的例子:
```cpp
// 假设我们有一个名为Person的结构体
struct Person {
std::string name;
int age;
};
// 创建一个Person类型的数组
Person people; // 创建包含3个Person的数组
// 将单个Person实例的成员赋值给数组
Person another_person = {"Alice", 25};
people = another_person; // 第0个元素设置为name="Alice",age=25
// 或者更简洁地直接赋值
people.name = "Bob";
people.age = 30;
// 数组中的其他元素也可以同样操作
people.name = "Charlie";
people.age = 35;
```
阅读全文