C语言结构体简单入门讲解
什么是结构体?
结构体是C语言中的复合数据类型之一,它允许我们将不同类型的数据组合在一起,形成一个新的自定义数据类型。
结构体的定义方式为:
struct 结构体名 {
结构体成员1;
结构体成员2;
......
};
结构体的使用
结构体的声明
声明一个结构体和声明一个变量类似,都需要指定数据类型和变量名。结构体的声明可以在函数的内部或外部进行,但是需要注意作用域的问题。
struct Student {
char name[20];
int age;
float score;
};
struct Student student1, student2;
结构体的初始化
结构体的初始化方法与数组相似,也可以使用大括号 {} 和逗号 , 将结构体的各个成员进行初始化。
struct Student student1 = {"Tom", 18, 85.5};
struct Student student2 = {.name="Jerry", .score=90.0, .age=19};
结构体的访问
结构体的成员可以使用成员运算符 . 来访问。
printf("姓名:%s,年龄:%d,分数:%f", student1.name, student1.age, student1.score);
结构体的指针
结构体也可以使用指针,可以通过指针来访问结构体成员。
struct Student *p = &student1;
printf("姓名:%s,年龄:%d,分数:%f", p->name, p->age, p->score);
结构体的示例
结构体存储多个学生信息
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
int age;
float score;
};
int main() {
struct Student students[10] = {
{"Tom", 18, 85.5},
{"Jerry", 19, 90.0},
{"Alice", 20, 92.5},
{"Bob", 21, 88.0},
{"Mike", 22, 89.5},
{"Lucy", 23, 87.5},
{"John", 24, 86.0},
{"Mary", 25, 91.5},
{"David", 19, 89.0},
{"Jane", 20, 93.0}
};
for (int i = 0; i < 10; i++) {
printf("姓名:%s,年龄:%d,分数:%f\n", students[i].name, students[i].age, students[i].score);
}
return 0;
}
结构体存储学生信息并计算平均分和最高分
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
int age;
float score;
};
int main() {
struct Student students[10] = {
{"Tom", 18, 85.5},
{"Jerry", 19, 90.0},
{"Alice", 20, 92.5},
{"Bob", 21, 88.0},
{"Mike", 22, 89.5},
{"Lucy", 23, 87.5},
{"John", 24, 86.0},
{"Mary", 25, 91.5},
{"David", 19, 89.0},
{"Jane", 20, 93.0}
};
float total_score = 0.0;
float average_score = 0.0;
float max_score = students[0].score;
for (int i = 0; i < 10; i++) {
total_score += students[i].score;
if (students[i].score > max_score) {
max_score = students[i].score;
}
}
average_score = total_score / 10;
printf("平均分:%f,最高分:%f\n", average_score, max_score);
return 0;
}
以上就是C语言结构体的简单入门讲解。通过学习结构体,我们可以更加灵活地处理数据,提高我们程序设计的效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言结构体简单入门讲解 - Python技术站