结构体的定义和基础使用
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,是C语言中一种重要的数据类型。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体通常用来表示类型不同但是又相关的若干数据。
- 定义:
struct person{ char name[30];//姓名 int age;//年龄 char sex[10];//性别 };
struct person 定义了一个新的类型,还没有申请空间。
- 基础使用:
定义三个变量p1,p2,p3。
person p1,p2,p3;
也可以在创建结构体时定义全局变量:
struct person{ char name[30];//姓名 int age;//年龄 char sex[10];//性别 }p1,p2,p3;
接着初始化结构体变量:
p1 = {"卡尔",16,"男"}; p2 = {"黛比",14,"女"}; p3 = {"利普",19,"男"};
打印结构体:
printf ("%s %d %s\n",p1.name,p1.age,p1.sex); printf ("%s %d %s\n",p2.name,p2.age,p2.sex); printf ("%s %d %s\n",p3.name,p3.age,p3.sex);
完整代码:
#include <stdio.h> int main() { struct person{ char name[30];//姓名 int age;//年龄 char sex[10];//性别 }; person p1,p2,p3; p1 = {"卡尔",16,"男"}; p2 = {"黛比",14,"女"}; p3 = {"利普",19,"男"}; printf ("%s %d %s\n",p1.name,p1.age,p1.sex); printf ("%s %d %s\n",p2.name,p2.age,p2.sex); printf ("%s %d %s\n",p3.name,p3.age,p3.sex); }
总结和个人体会:
结构体是一种自定义的数据类型,可以将不同种类的数据封装在一起,方便进行组合和管理。结构体由多个成员变量组成,每个成员变量可以是任意数据类型,包括基本数据类型、数组、指针等等。使用结构体可以 提高程序的可读性、可维护性和可扩展性。
1. 结构体可以用于封装相关数据,方便进行组合和管理。比如,可以用结构体来表示一个人的信息,包括姓名、年龄、身高、体重等等。
2. 结构体可以作为函数参数传递,也可以作为函数的返回值。这样可以避免传递多个参数或者使用全局变量的问题,提高程序的模块化和可重用性。
3. 在使用结构体时,需要注意内存对齐和字节对齐的问题。为了提高程序的运行效率,编译器会对结构体进行优化,保证结构体的大小和内存布局是符合要求的。
4. 结构体还可以嵌套定义,形成复杂的数据结构。比如,可以用结构体来表示一个学生的信息,包括基本信息和课程信息,而课程信息又包括课程名称、学分、成绩等等。