VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 640|回复: 4

什么叫分配空间时的自动对齐啊?

[复制链接]

7

主题

15

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-1-31 14:20:01 | 显示全部楼层 |阅读模式
问老师链表的时候老师提到什么分配空间的时候并不是简单的相加,还有自动对齐什么的,那个是什么啊
回复

使用道具 举报

0

主题

32

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-3-10 15:15:01 | 显示全部楼层
举个例子, 你在对硬盘进行格式化的时候, 通常有文件系统的选项以及最小使用的分配单位的大小. 如果最小分配单位是 16 K 意思是你新建了一个文件, 就算你只写了一个字, 系统也会为你分配 16 K 的硬盘空间 .

内存也是一样的, 为了便于内存管理, 一般会选择最小分配单元, 比如 32 bit, 如果你声名了一个 char 型变量, 原本以为只占用 1 个 byte 的空间, 实际上它占用了 4 个 byte .
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-16 15:15:01 | 显示全部楼层
struct A
{
char a;
int b;
};
struct B
{
int a;
int b;
};
sizeof (A) == sizeof (B) == 8
char被补齐为int(默认4个字节)
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-26 12:45:01 | 显示全部楼层
编译器的一个数据访问优化技术,可以通过编译器指令设置
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-28 17:45:01 | 显示全部楼层
这个也称作数据对齐,在《Windows核心编程》中有一小节专门进行了讲解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表