尽量使用32位变量而不使用8位变量或16位变量。Pentium以及更新的中央处理器都是全32位的,这就意味着它们并不喜欢8位或16位的数据字。实际上,由于高速缓存和其他相关内存储器的寻址变得较不规则,较小的数据可能会使速度下降。例如,你定义了一个如下所示的结构类型:
struct CPOINT
{
short x,y;
unsigned char c;
} // end CPOINT
注意,定义这个结构看上去不错,但实际并非如此!首先,结构本身是一个5字节的结构------(2*sizeof(short) + sizeof(char)) = 5字节。这太糟了,由于没有注意字节对齐,内存寻址的时候会出大问题。更好的结构形式如下:
struct CPOINT
{
int x, y;
int c;
} // end CPOINT