在C语言中,结构体(struct)是一种用户自定义的数据类型,允许将不同类型的数据组合成一个单一的单元。这对于表示具有多个相关属性的实体非常有用。
使用:
结构体定义:
使用 struct
关键字定义结构体。结构体定义通常放在头文件(.h)中,以便在多个源文件之间共享。
struct Student {
char name[50];
int age;
float gpa;
};
struct Student
:定义了一个名为Student
的结构体。-
char name[50]
:结构体的一个成员,表示学生的姓名,是一个字符数组。 -
int age
:结构体的另一个成员,表示学生的年龄,是一个整数。 float gpa
:结构体的最后一个成员,表示学生的平均绩点,是一个浮点数。
结构体变量声明:
struct Student student1;
struct Student students[100]; // 声明一个包含100个Student结构体的数组
struct Student student1;
:声明了一个名为student1
的Student
结构体变量。-
struct Student students[100];
:声明了一个包含100个Student
结构体的数组。
结构体成员访问:
student1.age = 20;
strcpy(student1.name, "Alice");
student1.gpa = 3.8;
printf("Name: %s, Age: %d, GPA: %.2f\n", student1.name, student1.age, student1.gpa);
student1.age = 20;
:将student1
的age
成员设置为20。strcpy(student1.name, "Alice");
:使用strcpy
函数将student1
的name
成员设置为 “Alice”。student1.gpa = 3.8;
:将student1
的gpa
成员设置为3.8。-
printf(...)
:打印student1
的成员值。
结构体初始化:
struct Student student2 = {"Charlie", 22, 3.9};
printf("Name: %s, Age: %d, GPA: %.2f\n", student2.name, student2.age, student2.gpa);
struct Student student2 = {"Charlie", 22, 3.9};
:声明并初始化student2
结构体变量。
typedef和结构体结合使用:
typedef struct {
char name[50];
int age;
float gpa;
} Student;
Student student3 = {"David", 23, 3.7};
printf("Name: %s, Age: %d, GPA: %.2f\n", student3.name, student3.age, student3.gpa);
typedef struct { ... } Student;
:定义了一个名为Student
的结构体别名。-
Student student3 = {"David", 23, 3.7};
:使用Student
别名声明并初始化student3
结构体变量。
THE END
暂无评论内容