一个小程序,哪位高手能告诉小弟我为什么呢?

一个小程序,谁能告诉我为什么呢??下面代码中的结构体的字节数好像怎么都不对,不知道怎么回事。#includeios

一个小程序,谁能告诉我为什么呢??
下面代码中的结构体的字节数好像怎么都不对,不知道怎么回事。

#include   <iostream>
using   namespace   std;
struct   ABC  
{
int   a;
short   int   b;
short   int   c;
char   ch;


}ABC;
int   main()
{
ABC.a=1;
ABC.b=2;
ABC.ch= 'a ';
ABC.c=3;
cout < <sizeof(ABC.a) < <endl;
cout < <sizeof(ABC.b) < <endl;
cout < <sizeof(ABC.c) < <endl;
cout < <sizeof(ABC.ch) < <endl;
cout < < "sizeof(ABC)   is   : " < <sizeof(ABC) < <endl;
return   0;
}


[解决办法]
编译器考虑了对齐,所以sizeof(ABC)不等于各个成员大小之和