C语言-结构体-015

​1结构

1.1语法

/*结构体声明(structure declaration)==模板*/
struct student
{
	char name[32];
	char sex;
	int age;
};

1.2语义:
1.3结构体形式:
1.形式1:

2.形式2:

3.形式3:

1.4 结构体变量初始化:
1.5结构体成员的访问
1.5.1通过结构体变量名访问成员
【变量名 . 成员】:

1.5.2通过指向结构体的指针访问成员
【指针变量 -> 成员】:

1.4结构体大小:
1.4.1结构体对齐规则:
1.在32位的平台上,默认都是按4字节对齐的;64位的平台 默认是8字节。

2.对于成员变量,各自在自己的自然边界上对齐

    (1)【int】:4字节,在能被4整除的地址编号上

    (2)【short】:2字节,在能被2整除的地址编号上

    (3)【char】:1字节,在能被1整除的地址编号上

整个给结构体的对齐
(1)如果成员变量中有比4字节大,此时整个结构体按照4字节对齐。(32位平台)
(2)如果成员变量中没有比4字节大,此时整个结构体按照最大的那个成员对齐。

总结:
	所以,要知道结构体大小:
		1.每个结构体成员大小(成员对齐数);
		2.每个结构体成员的对齐方式(第1个成员-结构体变量偏移量为0的地址处,其它成员-对齐到各自对齐数整数倍地址处);
		3.结构体总大小(成员最大对齐数的整数倍);
		4.嵌套子结构体的对齐数(嵌套子结构体成员最大对齐数的整数倍);

所以,构造抽象数据类型时需要注意:要考虑构造时候抽象数据类型成员的类型及其排列顺序(毕竟这会对抽象数据类型所占用空间的大小产生影响);

2.联合(共用体)
2.1语法:

2.2语义:
初始化:只能给一个值,默认是给到第一个成员变量的。

共用体成员变量辅助:共用体用的数据最终存储的应该是最后依次给到的值。但是只能影响到自己数据类型对应的空间中的数据。

2.3共用体形式:
2.4共用体变量初始化:
2.5共用体成员的访问:
2.6共用体大小:
2.7共用体的应用:
共用体类型可以做

(1)定义变量

(2)定义数组

(3)定义指针

(4)做函数的参数返回值类型

2.8共用体的其它应用
2.8.1系统数据存储模式(大小端判断)

3.枚举
3.1语法:

3.2语义:

3.3枚举形式:

3.4枚举变量初始化:

3.5枚举成员访问:

注意:

(1)枚举:提高了代码的可读性

(2)本质上是int整型

(3)不足:因为枚举类型 — 本质上是个整型类型, 所以枚举类型的变量的值,并不能真正限定在指定的哪些值范围中 。

(4)可以做函数形参和返回值,定义数组也可以,本质上就是整形数据。

3.6枚举类型的大小:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面只是目标目录 ├─第1章-Shiro权限实战课程介绍 │ 1-1Shiro权限实战课程介绍.mp4 │ 1-2权限控制和初学JavaWeb处理访问权限控制.mp4 │ ├─第2章-大话权限框架核心知识ACL和RBAC │ 2-1权限框架设计之ACL和RBAC讲解.mp4 │ 2-2主流权限框架介绍和技术选型讲解.mp4 │ ├─第3章-ApacheShiro基础概念知识和架构讲解 │ 3-1Shiro核心知识之架构图交互和四大模块讲解.mp4 │ 3-2用户访问Shrio权限控制运行流程和常见概念讲解.mp4 │ ├─第4章-Springboot2.x整合ApacheShiro快速上手实战 │ 4-1SpringBoot2.x整合Shiro.mp4 │ 4-2快速上手之Shiro认证和授权流程实操上集.mp4 │ 4-3Shiro认证和授权流程和常用API梳理下集.mp4 │ ├─第5章-详细讲解ApacheShirorealm实战 │ 5-1Shiro安全数据来源之Realm讲解.mp4 │ 5-2快速上手之Shiro内置IniRealm实操.mp4 │ 5-3快速上手之Shiro内置JdbcRealm实操.mp4 │ 5-4ApacheShiro自定义Readl实战.mp4 │ 5-5深入Shiro源码解读认证授权流程.mp4 │ ├─第6章-Shiro权限认证Web案例知识点讲解 │ 6-1Shiro内置的Filter过滤器讲解.mp4 │ 6-2Shiro的Filter配置路径讲解.mp4 │ 6-3Shiro数据安全之数据加解密.mp4 │ 6-4Shiro权限控制注解和编程方式讲解.mp4 │ 6-5Shiro缓存模块讲解.mp4 │ 6-6ShiroSession模块讲解.mp4 │ ├─第7章-ApacheShiro整合SpringBoot2.x综合案例实战 │ 7-10使用ShiroLogout和加密处理.mp4 │ 7-1Shiro整合SpringBoot2.x案例实战介绍.mp4 │ 7-2基于RBAC权限控制实战之Mysql数据库设计.mp4 │ 7-3SpringBoot2.x项目框架和依赖搭建.mp4 │ 7-4案例实战之权限相关服务接口开发.mp4 │ 7-5案例实战之用户角色权限多对多关联查询SQL.mp4 │ 7-6案例实战自定义CustomRealm实战.mp4 │ 7-7项目实战之ShiroFilterFactoryBean配置实战.mp4 │ 7-8前后端分离自定义SessionManager验证.mp4 │ 7-9API权限拦截验证实战.mp4 │ ├─第8章-权限控制综合案例实战进阶 │ 8-1实战进阶之自定义ShiroFilter过滤器上集.mp4 │ 8-2实战进阶之自定义ShiroFilter过滤器下集.mp4 │ 8-3性能提升之Redis整合CacheManager.mp4 │ 8-4性能提升之Redis整合SessionManager.mp4 │ 8-5ShiroConfig常用bean类配置.mp4 │ ├─第9章-大话分布式应用的鉴权方式 │ 9-1单体应用到分布式应用下的鉴权方式介绍.mp4 │ 9-2Shiro整合SpringBoot下自定义SessionId.mp4 │ ├─第10章-Shiro课程总结 │ 10-1Apacheshiro从入门到高级实战课程总结.mp4 │ 10-2高级工程师到架构师-解决问题思路+学习方法.mp4 │ └─课件资料.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值