admin 管理员组文章数量: 887021
2024年1月28日发(作者:wordpress模板推荐)
c语言struct用法例子
C语言struct用法
什么是struct
• struct是C语言中的一种自定义数据类型,用来封装多个不同类型的变量。
• 它可以将不同类型的变量组合在一起,形成一个新的数据类型。
struct的定义和声明
• 使用struct关键字定义struct类型,如下所示:
struct Person {
char name[20];
int age;
float height;
};
• 上述代码定义了一个名为Person的struct类型,它包含三个成员变量分别是name、age和height。
• 在代码中使用定义好的struct类型时,需要先声明一个变量并指定其类型为所定义的struct类型,如下所示:
struct Person p;
struct的初始化和访问
• 可以使用.操作符访问struct的成员变量,如下所示:
strcpy(, "Alice");
= 20;
= 1.65;
• 上述代码将分别给p的成员变量name、age和height赋值。
•
示:
struct Person p = {"Alice", 20, 1.65};
• 上述代码将定义一个名为p的Person类型的可以在定义struct变量的同时进行初始化,如下所struct变量,并直接对它进行初始化。
•
所示:
printf("Name: %sn", );
printf("Age: %dn", );
printf("Height: %.2fn", );
• 上述代码将分别打印出p的成员变量name、age和height的值。
可以通过.操作符访问struct变量的成员变量,如下
struct的嵌套使用
• struct类型可以嵌套在另一个struct类型中,形成更复杂的数据结构。
struct Date {
int year;
int month;
int day;
};
struct Person {
char name[20];
int age;
float height;
struct Date birthday;
};
struct Person p;
• 上述代码定义了一个包含birthday成员变量的Person类型。
• 可以通过.操作符访问嵌套的成员变量,如下所示:
= 2000;
= 1;
= 1;
• 上述代码给p的birthday成员变量的year、month和day赋值。
struct的传递和返回
• 可以将struct作为参数传递给函数,也可以将struct作为函数的返回值。
• 通过传递struct的指针,可以避免拷贝大量数据。
void printPerson(struct Person *p) {
printf("Name: %sn", p->name);
printf("Age: %dn", p->age);
printf("Height: %.2fn", p->height);
}
struct Person createPerson(char *name, int age, float height) {
struct Person p;
strcpy(, name);
= age;
= height;
return p;
}
• 上述代码定义了一个打印Person类型变量信息的函数printPerson和一个创建Person类型变量的函数createPerson。
• 可以通过传递指向struct变量的地址,实现对struct变量的修改。
void modifyPerson(struct Person *p, int age) {
p->age = age;
}
modifyPerson(&p, 21);
• 上述代码将会修改p的age成员变量的值为21。
总结
• struct是C语言中组织数据的一种重要方式,它可以将多个不同类型的变量封装在一起。
• 使用struct可以更好地表达程序中的数据关系,提高代码的可读性和可维护性。
• struct的常见用法包括定义、初始化、访问、嵌套、传递和返回。
struct的定义和声明
• struct是C语言中的一种自定义数据类型,用来封装多个不同类型的变量。
struct Student {
char name[20];
int age;
float score;
};
• 上述代码定义了一个名为Student的struct类型,它包含三个成员变量分别是name、age和score。
• 在代码中使用定义好的struct类型时,需要先声明一个变量并指定其类型为所定义的struct类型。
struct Student stu;
struct的初始化和访问
• 可以使用.操作符访问struct的成员变量。
strcpy(, "Tom");
= 18;
= 95.5;
• 上述代码将分别给stu的成员变量name、age和score赋值。
• 可以在定义struct变量的同时进行初始化。
struct Student stu = {"Tom", 18, 95.5};
• 上述代码将定义一个名为stu的Student类型的struct变量,并直接对它进行初始化。
• 可以通过.操作符访问struct变量的成员变量。
printf("Name: %sn", );
printf("Age: %dn", );
printf("Score: %.2fn", );
• 上述代码将分别打印出stu的成员变量name、age和score的值。
struct的嵌套使用
• struct类型可以嵌套在另一个struct类型中,形成更复杂的数据结构。
struct Date {
int year;
int month;
int day;
};
struct Student {
char name[20];
int age;
float score;
struct Date birthday;
};
struct Student stu;
• 上述代码定义了一个包含birthday成员变量的Student类型。
• 可以通过.操作符访问嵌套的成员变量。
= 2000;
= 1;
= 1;
• 上述代码给stu的birthday成员变量的year、month和day赋值。
struct的传递和返回
• 可以将struct作为参数传递给函数,也可以将struct作为函数的返回值。
• 通过传递struct的指针,可以避免拷贝大量数据。
void printStudent(struct Student *stu) {
printf("Name: %sn", stu->name);
printf("Age: %dn", stu->age);
printf("Score: %.2fn", stu->score);
}
struct Student createStudent(char *name, int age, float
score) {
struct Student stu;
strcpy(, name);
= age;
= score;
return stu;
}
• 上述代码定义了一个打印Student类型变量信息的函数printStudent和一个创建Student类型变量的函数createStudent。
• 可以通过传递指向struct变量的地址,实现对struct变量的修改。
void modifyStudent(struct Student *stu, float score) {
stu->score = score;
}
modifyStudent(&stu, 98.5);
• 上述代码将会修改stu的score成员变量的值为98.5。
总结
• struct是C语言中组织数据的一种重要方式,它可以将多个不同类型的变量封装在一起。
• 使用struct可以更好地表达程序中的数据关系,提高代码的可读性和可维护性。
• struct的常见用法包括定义、初始化、访问、嵌套、传递和返回。
版权声明:本文标题:c语言struct用法例子 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1706376469h505850.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论