C语言结构体字节对齐简单计算方法
2021-07-13 19:07
标签:char 字节对齐 方式 c语言 span 结构体字节对齐 64位 语言 bsp 1.在C语言里面每一种数据类型都有字节对齐比如在32位操作系统下:整型的自身对齐数就是 4 字节,字符型就是 1 字节,double就是 8 字节。 但是结构体的计算方式就和普通的数据类型不一样。 在C语言里面字节对齐的方式主要根据“有效对齐数”来确定,那么有效对齐数是怎杨确定的呢? 在结构体里面::: 有效字节对齐数 = (自身对齐数 自身对齐数 = 4字节(32位操作系统);(8 字节为32位操作系统)。 最大字节数 = 结构体里面最大的一个数据类型所占的字节数。 列:struct test{ char a; int a; short c; }d; sizeof(d) == ? ; //在32位操作系统下为12字节,64位操作系统下也为12字节。(每一次都开4个字节) struct test2{ char a; double b; short c; }d; sizeof(d) == ? ;// 在32位操作系统下为16字节(每一次开4个字节),在64位操作系统下为24字节(每一次开8个字节)。 C语言结构体字节对齐简单计算方法 标签:char 字节对齐 方式 c语言 span 结构体字节对齐 64位 语言 bsp 原文地址:https://www.cnblogs.com/hukblog/p/9541628.html
下一篇:enumerate