c语言结构体数组
时间: 2023-08-13 21:13:25 浏览: 149
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++; // 指针向后移动一位,指向下一个结构体数组元素的地址
}
```
C语言结构体数组定义
C语言中,结构体数组的定义和初始化可以通过以下方式实现:
1. 定义结构体类型:
```c
struct stu {
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
};
```
2. 声明结构体数组并初始化:
```c
struct stu class[5] = {
{"Tom", 1, 18, 'A', 90.5},
{"Jerry", 2, 19, 'B', 85.0},
{"Alice", 3, 20, 'A', 92.0},
{"Bob", 4, 19, 'B', 88.5},
{"Linda", 5, 18, 'A', 95.0}
};
```
以上代码定义了一个名为`class`的结构体数组,数组长度为5,每个数组元素都是一个`stu`类型的结构体。通过初始化列表,可以为每个结构体成员赋予相应的值。
阅读全文
相关推荐














