结构体是C语言中的一种复合数据类型,用于组合不同类型的数据。以下是如何使用结构体的步骤:
定义结构体
使用`struct`关键字定义一个结构体类型,并指定其成员变量的类型和名称。
```c
struct Student {
char name; // 姓名
int age;// 年龄
float score;// 成绩
};
```
创建结构体变量
可以在定义结构体类型的同时创建结构体变量,并初始化其成员变量。
```c
struct Student stu1 = {"小明", 20, 89.5};
```
也可以先定义结构体类型,然后再单独定义结构体变量,并进行初始化。
```c
struct Student stu2;
strcpy(stu2.name, "小红");
stu2.age = 22;
stu2.score = 92.0;
```
访问结构体成员
通过结构体变量名访问其成员变量。
```c
printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", stu1.name, stu1.age, stu1.score);
```
结构体数组
可以定义一个结构体数组来存储多个结构体变量。
```c
struct Student arr = {
{"张三", 18, 80},
{"李四", 19, 60},
{"王五", 20, 70}
};
```
遍历结构体数组
使用循环遍历结构体数组,并访问每个结构体的成员。
```c
for (int i = 0; i < 3; i++) {
printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", arr[i].name, arr[i].age, arr[i].score);
}
```
结构体指针
可以定义一个指向结构体的指针,并通过该指针访问结构体的成员。
```c
struct Student *p = &stu1;
printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", p->name, p->age, p->score);
```
示例代码
```c
include include // 定义结构体类型 struct Student { char name; // 姓名 int age;// 年龄 float score;// 成绩 }; int main() { // 创建并初始化结构体变量 struct Student stu1 = {"小明", 20, 89.5}; struct Student stu2; strcpy(stu2.name, "小红"); stu2.age = 22; stu2.score = 92.0; // 访问结构体成员 printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", stu1.name, stu1.age, stu1.score); printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", stu2.name, stu2.age, stu2.score); // 结构体数组 struct Student arr = { {"张三", 18, 80}, {"李四", 19, 60}, {"王五", 20, 70} }; // 遍历结构体数组 for (int i = 0; i < 3; i++) { printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", arr[i].name, arr[i].age, arr[i].score); } // 结构体指针 struct Student *p = &stu1; printf("姓名: %s, 年龄: %d, 成绩: %.2f\n", p->name, p->age, p->score); return 0; } ```