赞
踩
C语言中的结构体(Struct)是一种复合数据类型,它允许你将不同类型的数据项组合成一个单一的类型。结构体在C语言中非常有用,特别是在需要处理复杂数据时,比如存储一个人的姓名、年龄、地址等信息时,使用结构体可以很方便地将这些信息组合在一起,并以一个整体的形式进行访问和操作。
结构体的定义使用struct
关键字,后跟结构体的标签(也就是名字)和结构体体本身。结构体体包含了一组成员列表,每个成员都是某种数据类型(基本数据类型、数组、指针等)的变量。成员之间用分号分隔。
- struct Student{
- char *num;
- char *name;
- char *sex;
- int age;
- double score;
- char *addr;
- };
你可以像声明其他类型的变量一样声明结构体变量。
struct Student stu1;
或者使用typedef
为结构体类型定义一个新名字,这样就可以像使用基本数据类型一样使用结构体了。
- typedef struct Student{
- char *num;
- char *name;
- char *sex;
- int age;
- double score;
- char *addr;
- }Student;
-
- Student stu1;
结构体变量可以在声明时初始化。
struct Student stu1 = {"001","李红","女",22,99.9,"云南"};
或者使用typedef
定义的类型:
Student stu1 = {"001","李红","女",22,99.9,"云南"};
或者单独进行初始化:
- stu1.num = "001";
- stu1.name = "李红";
- stu1.sex = "女";
- stu1.age = 22;
- stu1.score = 99.9;
- stu1.addr = "云南";
结构体成员的访问使用.
运算符(对于结构体变量)或->
运算符(对于指向结构体的指针)。
- // 假设我们已经有了一个Student类型的变量stu1
- printf("姓名: %s\n", stu1.name);
- printf("年龄: %d\n", stu1.age);
-
- // 如果我们有一个指向Student的指针
- Student *pStu= &stu1;
- printf("成绩: %.2f\n", pStu->score);
- printf("地址: %s\n", pStu->addr);
结构体是C语言中处理复杂数据的有效方式,它们允许你将相关的数据项组合在一起,并通过一个统一的接口进行访问和操作。通过使用结构体,你可以编写更清晰、更易于维护的代码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。