#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
struct C
{
//unsigned int b;
//int a;
//short c;
//int d;
string m;
};
cout<<sizeof(C)<<endl;
getchar();
return 0;
}
答案是44 首先u32是unsigned int(无符号整形,就是正数)占4个字节,int也占4个字节,u16 是unsigned short int 占2个字节
varchar他对应的是C++中string类型占32个字节, 所以是4+4+4(2+补两位)+32=44
这个补两位用到内存对齐的知识
这个补两位用到内存对齐的知识