跳转到主内容
极星编程网:以代码为星,赴技术山海!

C语言结构体入门:从声明到位段应用全解析!

一、结构体类型的声明

结构体声明的语法:struct tag { member - list; } variable - list;

member - list是成员名,variable - list是创建的变量名。比如创建一个描述学生的结构体:

struct Stu { char name[20]; int age; char sex[5]; char id[20]; };

1.1 一般结构体声明

1.2 结构的特殊声明(匿名)

匿名结构体:无类型名,直接定义变量 x

struct { int a; char b; float c; } x;

1.3 结构体的自引用

在结构中包含一个类型为该结构本身的成员是否可以呢?比如定义一个链表的节点:

struct Node { int data; struct Node next; };

二、结构体变量的创建和初始化

结构体变量的创建可以在声明的时候就创建好;也可以单独创建。结构体的初始化,如果在结构体声明的时候就创建了变量,那么可以顺带初始化,可以用到.结构体成员操作符。

2.1 结构体变量的创建

2.2 结构体的初始化

三、结构成员访问操作符

结构体成员访问操作符有两个:   .   和   ->

四、结构体内存对齐

4.1 对齐规则

4.2 代码练习:判断结构体大小

4.3 为什么存在内存对齐

4.4 修改默认对齐数

五、结构体传参

结构体传参分为两种:传结构体变量和传结构体变量的地址。

六、结构体实现位段

6.1 什么是位段

6.2 位段的内存分配

6.3 位段使用的注意事项

6.4 位段的跨平台问题

6.5 位段的使用

位段在数据报等场景中非常有用。

感谢大家的观看,新人求互三,关注我必回关!下章见!

相关文章