这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战」
- 结构体介绍
C语言里的结构体是可以包含不同数据类型和相同数据类型的一个有序集合,属于构造类型,可以自己任意组合,并且结构体里也可以使用结构体类型作为成员。
结构体在项目开发中使用非常多,无处不在,有了结构体类型就可以设计很多框架,模型,方便数据传输,存储等等。
结构体定义语法
1 | cpp复制代码struct 结构体名称 |
示例代码:
1 | cpp复制代码struct app |
- 如何使用结构体定义变量?
结构体定义变量有3种形式:
1 | cpp复制代码#include <stdio.h> |
- 结构体的赋值
结构体变量的赋值语法:
1 | cpp复制代码 结构体变量名.成员名=xxx; |
结构体初始化赋值说明:
结构体只能在(定义结构体变量的时候)初始化的时候支持整体赋值,之后就只能按照成员单个赋值。
注意:结构体变量之间支持直接赋值。
1 | cpp复制代码#include <stdio.h> |
- 结构体指针定义与使用
示例代码:
1 | cpp复制代码#include <stdio.h> |
- 结构体数组定义与使用
示例代码:
1 | cpp复制代码#include <stdio.h> |
- 结构体当做函数的形参和返回值
示例代码:
1 | cpp复制代码#include <stdio.h> |
- typedef关键字在结构体里使用方法
1 | cpp复制代码#include <stdio.h> |
- 结构体位域
位域用的不多,但是也有地方使用,主要是节省空间。
1 | cpp复制代码#include <stdio.h> |
- 结构体的内存对齐
9.1 示例1: 计算结构体内存对齐
1 | cpp复制代码#include <stdio.h> |
9.2 示例2: 计算结构体内存对齐
1 | cpp复制代码#include <stdio.h> |
9.3 输出结构体变量成员的地址,查看空间对齐情况
1 | cpp复制代码#include <stdio.h> |
9.4 对齐结构体进行强制对齐
1 | cpp复制代码#include <stdio.h> |
本文转载自: 掘金