由于结构体内的数据成员在内存中是连续。当给char分配一个字节,后面在跟一个int型数据,占4个字节。那么int型 就要寻2个周期。后面继续不完整,这样效率很低下。
因此最好取整。系统默认为4。

程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
   
    return 0;
}
struct A
{
    char c; 1    4
    int n;  4     4   
    int d;  4     4   
};12
struct A
{
    char c;   1    4
    int n;    4    4    
    double d; 8    8
};16
struct A
{
    char c;        1   4   
    int n;        4    4
    char cc;    1    4
}
#pragma pack (1)
struct A
{
    char c;        1   2   
    int n;        4    4
    char cc;    1    2
}
#pragma pack (8)
struct A
{
    char c;        1   4   
    int n;        4    4
    char cc;    1    4
}
class A
{
    A();
private:
    int m;
};   4
class B
{
   
    char c;           1    4
    int n;          4    4
    double d;         1    8
    static int np; 
};    16  静态存储区
int B::np = 10;
空类空结构体都为一个字节。类与结构体一样,不考虑成员函数当#pragma pack (1)内参数大于最大类型所占字节数,还是按照最大数据内型来处理。要是小于的话,就按参数来处理。