结构体是很多初学C语言同学搞不太懂的问题,今天我们就来详细解读一下,如果我说的有什么不对的地方,或者太模糊,你可以指出来,相互交流学习!
第一部分:结构体总体的定义
要了解,要彻底搞懂一个东西,那么我们就需要从定义下手,这是非常重要的一点,在我们学习C语言的路途上,这个思想应该一直贯穿我们,我之前也是忽略 了许多问题,最后发现是没有搞懂很多定义,在之后的路上吃了很多亏,我希望,我们从一开始就搞懂定义,再来敲代码,不会耽搁很多时间,而且事半功倍!
一.结构体的定义
1.关于结构体
结构体和我们平时所接触的类型有些不同,但也有相同之处
相同点:
结构体也是一个类型,这是和其他类型是一样的,都是用来记录或储存变量的
不同点:
结构体是一个用户自行定义的类型:
C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体,在一些其他的高级语言称为 记录
就如int,char,double 那么结构体也就有一个关键字了 :struct
不过它的创建和其他的变量有所不同,如下:
struct Student{
int num; //成员学号
char name[20]; //成员姓名
double score; //成员成绩
};
在上面的程序段里我们定义了一个结构体类型,就和int i,char b 是一样的,只是他里面有不同的类型成员
而 int ,char 里面所定义的类型是一致的
在上面的程序里我们描述了一个学生的信息: 里面有学号 是一个 int 类型,一个名字 是一个字符串类型
所以声明一个结构体变量的一般形式为:
struct 结构体名 {
成员列表
};
几点需要注意的地方:
1.上面的 Student 就是我们所定义的结构体名.<

本文深入探讨C语言中的结构体,包括其定义、成员、类型变量的三种定义方式以及结构体的初始化。此外,还详细阐述了结构体内存对齐的规则和原因,以及如何在设计结构体时平衡对齐与空间效率。通过实例解析,帮助初学者更好地理解和应用结构体。
最低0.47元/天 解锁文章
535

被折叠的 条评论
为什么被折叠?



