C语言结构体定义数组
时间: 2024-04-02 20:27:42 浏览: 87
下面是C语言结构体定义数组的示例代码:
```c
#include <stdio.h>
// 定义结构体
struct student {
char name[20];
int age;
float score;
};
int main() {
// 定义结构体数组并初始化
struct student stu_arr[3] = {
{"Tom", 18, 90.5},
{"Jerry", 19, 88.5},
{"Marry", 20, 95.0}
};
// 遍历结构体数组并输出每个元素的成员变量
for (int i = 0; i < 3; i++) {
printf("Name: %s, Age: %d, Score: %.1f\n", stu_arr[i].name, stu_arr[i].age, stu_arr[i].score);
}
return 0;
}
```
上述代码中,我们首先定义了一个结构体`student`,包含了三个成员变量`name`、`age`和`score`。然后我们定义了一个结构体数组`stu_arr`,并在定义时对其进行了初始化。最后我们使用`for`循环遍历结构体数组,并输出每个元素的成员变量。
相关问题
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`类型的结构体。通过初始化列表,可以为每个结构体成员赋予相应的值。
c语言结构体赋值数组
在C语言中,可以使用结构体数组来存储一组结构体对象。下面是一个示例,演示如何将结构体赋值给结构体数组的元素:
```c
#include <stdio.h>
struct Person {
char name[20];
int age;
};
int main() {
struct Person people[3]; // 声明一个包含3个Person结构体的数组
// 初始化结构体数组的元素
people[0] = (struct Person){"John", 25};
people[1] = (struct Person){"Alice", 30};
people[2] = (struct Person){"Bob", 35};
// 遍历数组并打印每个人的姓名和年龄
for (int i = 0; i < 3; i++) {
printf("Person %d: Name = %s, Age = %d\n", i+1, people[i].name, people[i].age);
}
return 0;
}
```
在上述示例中,我们定义了一个名为`Person`的结构体,包含了姓名和年龄两个字段。然后,我们声明了一个包含3个`Person`结构体的数组`people`。通过将不同的结构体赋值给数组的不同元素,我们将结构体存储在数组中。最后,通过遍历数组,我们打印了每个人的姓名和年龄。
请注意,在给结构体数组元素赋值时,需要将要赋值的结构体对象用括号括起来,并在前面加上结构体类型的强制类型转换 `(struct Person)`。这是因为C语言不支持直接使用花括号初始化结构体数组元素。
阅读全文