C/C++结构体对齐规则
作者:网络转载 发布时间:[ 2014/3/19 11:05:41 ] 推荐标签:C++ 结构 变量
1.基本理解
比如:struct TEST
{
char a;
int b;
char c;
}
那么经过sizeof后得出结果是 12, 因为默认内存占用4byte, 变量a占用1byte,剩下3个,不足以存放变量b,故变量a也占用了4byte, 变量c由于后面没有了数据, 也会变为4byte,后sizeof值为12。
#include "stdafx.h"
#include <iostream>
using namespace std;
struct TEST1 //12
{
char a;
int b;
char c;
};
struct TEST2 //8
{
char a;
char b;
int c;
};
struct TEST3 //8
{
char a;
char b;
char c;
int d;
};
struct TEST4 //12
{
char a[5];
int b;
};
struct TEST5 //8 + 8 + 8 = 24
{
double a; //8
char b; //4
int c; //4,location the b memery
char d[5]; //5
};
int _tmain(int argc, _TCHAR* argv[])
{
struct TEST1 t1;
struct TEST2 t2;
struct TEST3 t3;
struct TEST4 t4;
struct TEST5 t5;
cout << sizeof(t1) << endl << sizeof(t2) << endl;
cout << sizeof(t3) << endl << sizeof(t4) << endl << sizeof(t5) << endl;
return 0;
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11