C语言基础笔记:结构体尺寸与地址对齐详解.pdfVIP

  • 1
  • 0
  • 约2.73千字
  • 约 5页
  • 2026-08-04 发布于北京
  • 举报

C语言基础笔记:结构体尺寸与地址对齐详解.pdf

CPU字长

字长就是指CPU(处理器)在执行一条指令时,最大一个运算能力,这个运算能力由两部份决定一

个就是处理器本身的运算能力,另一个就系统的字长,比如常见的32位/64位系统,如果使用32位系

统那么在处理数据的时候每一次最对多可以处理32位的数据(4字节)。

地址对齐

每一款不同的处理器,存取内存数据都会有不同的策略,如果是32位的CPU,一般

来讲他在存取内存数据的时候,每次至少存取4个字节(即32位),也就是按4字节对齐

来存取的。换个角度讲:CPU有这个能力,他能一次存取4个字节。

接下来我们可以想到,为了更高效地数据,编译器会尽可能地将变量塞进一个4

字节单元里面,因为这样最省时间。如果变量比较大,4个字节放不下,则编译器会尽可能

地将变量塞进两个4字节单元里面,反正一句话:两个坑能装得下的就绝不用三个坑。这

就是为什么变量的地址要对齐的最根本。

所谓地址对齐主要思想:

尽可能提高CPU的运行效率(仅能能的少取/写入内存)

一个数据如能使用一个单元来存放感觉对不使用两个,两个能放绝对不用三个

普通变量的M值

概念:一个数据它的大小是固定的(比如整型),如果这个数据他所存放的地址能够被某一个数

所整除(4)那么这个数就成为当前数据的M值。

文档评论(0)

1亿VIP精品文档

相关文档