📅  最后修改于: 2023-12-03 15:30:14.714000             🧑  作者: Mango
C语言中的结构体是一种用户定义的数据类型,可以包含多个不同类型的变量,从而方便地组织和管理数据。
结构体的定义通常包含在头文件中,格式为:
struct <结构体名>{
<成员1类型> <成员1名>;
<成员2类型> <成员2名>;
...
<成员n类型> <成员n名>;
};
在上述定义中,<结构体名>
是结构体的名称,<成员1名>
~<成员n名>
是结构体的成员名,可以根据实际需要自行命名。
下面是一个简单结构体的定义示例:
struct student{
char name[20];
int roll_no;
float marks;
};
结构体中的成员可以使用“.”操作符访问,即结构体变量名后接.<成员名>
即可。
struct student s1;
strcpy(s1.name, "John");
s1.roll_no = 25;
s1.marks = 86.5;
结构体也可以作为参数传递给函数。可以按值传递结构体,也可以按引用传递结构体指针。
void print_student(struct student s){
printf("Name: %s\n", s.name);
printf("Roll No.: %d\n", s.roll_no);
printf("Marks: %.2f\n", s.marks);
}
void update_marks(struct student *s, float new_marks){
s->marks = new_marks;
}
结构体也可以形成数组,可以对数组中的元素进行遍历和访问。
struct student s[3] = {
{"John", 25, 86.5},
{"Mary", 32, 92.0},
{"Tom", 14, 78.5}
};
for(int i=0; i<3; i++){
printf("Name: %s\n", s[i].name);
printf("Roll No.: %d\n", s[i].roll_no);
printf("Marks: %.2f\n\n", s[i].marks);
}
结构体也可以嵌套,即在结构体中定义另一个结构体作为其中一个成员。
struct date{
int day;
int month;
int year;
};
struct employee{
char name[20];
struct date hire_date;
float salary;
};
以上就是C语言中结构体的基本使用方法。结构体是C语言中非常重要的数据类型,能够提高程序的可读性和维护性。