c 结构体数组
时间: 2023-08-13 15:17:52 浏览: 55
在C语言中,结构体数组是通过将多个结构体对象放入一个数组中来实现的。结构体数组可以对一组相似的数据进行封装,以便于操作和处理。下面是一个简单的结构体数组的示例:
```c
#include <stdio.h>
struct student {
char name[20];
int score;
};
int main() {
struct student stu[3] = {
{"Tom", 80},
{"Jerry", 90},
{"Mike", 85}
};
for (int i = 0; i < 3; i++) {
printf("Name: %s\n", stu[i].name);
printf("Score: %d\n", stu[i].score);
}
return 0;
}
```
在这个示例中,我们定义了一个名为`student`的结构体,其中包含了学生姓名和分数两个成员变量。然后我们定义了一个包含3个`student`结构体的数组`stu`,并初始化了数组中的每个元素。最后,使用`for`循环遍历结构体数组中的每个元素,并打印出学生的姓名和分数。
需要注意的是,结构体数组的元素可以使用`.`运算符来访问结构体的成员变量。在上面的示例中,我们使用`stu[i].name`和`stu[i].score`来访问每个学生的姓名和分数。
结构体数组在实际编程中应用广泛,例如存储学生信息、员工信息等。
相关问题
c语言结构体数组
C 语言中可以使用结构体数组来定义一组具有相同属性的数据。结构体数组的定义和使用方法如下:
```c
// 定义结构体
struct student {
char name[20];
int age;
double score;
};
// 定义结构体数组
struct student stu[5];
// 初始化结构体数组
stu[0] = {"Tom", 18, 90.5};
stu[1] = {"Jerry", 19, 85.2};
stu[2] = {"Mary", 20, 92.3};
stu[3] = {"John", 21, 88.7};
stu[4] = {"Lucy", 22, 86.9};
// 访问结构体数组中的元素
printf("%s %d %.1f\n", stu[0].name, stu[0].age, stu[0].score);
printf("%s %d %.1f\n", stu[1].name, stu[1].age, stu[1].score);
```
上述代码中,我们先定义了一个结构体 `student`,包含三个字段:`name`、`age` 和 `score`。接着,我们定义了一个结构体数组 `stu`,包含五个元素,每个元素都是一个 `student` 结构体。然后,我们通过赋值的方式初始化了这个结构体数组。最后,我们可以通过 `stu[index].field` 的方式来访问结构体数组中的元素。
c语言结构体数组指针
结构体数组指针是指一个指针变量指向一个结构体数组。在C语言中,可以使用结构体数组指针来访问和操作结构体数组的元素。结构体数组指针的定义和使用如下所示:
```c
struct Student {
int num;
char name[10];
char sex;
double height;
};
struct Student stus[20]; // 定义一个结构体数组
struct Student *p = stus; // 定义一个结构体数组指针,指向结构体数组的首地址
// 通过结构体数组指针访问结构体数组的元素
p->num = 1;
strcpy(p->name, "Tom");
p->sex = 'M';
p->height = 175.5;
// 通过结构体数组指针遍历结构体数组的元素
for (int i = 0; i < 20; i++) {
printf("Student %d: %s, %c, %.2f\n", p->num, p->name, p->sex, p->height);
p++; // 指针向后移动一位,指向下一个结构体数组元素的地址
}
```