对POD
 struct Data
 {
     int a;
     int b[32];
     char c[128];
 };
 C/C++不能够支持如下的语法:sizeof(Data::a); sizeof(Data::b); sizeof(Data::c[0]), sizeof必须要有存在的对象,才可以进行操作,这个不好
 仿照offsetof宏,定义一个SIZEOF宏:#define SIZEOF(s,m) sizeof(((s *)0)->m)
 在VC6下可以工作,其他环境不知
  
 #define SIZEOF(s,m) sizeof(((s *)0)->m)
 struct Data
 {
     int a;
     int  b[32];
     char c[128];
 };
  
 int main(int argc, char* argv[])
 {
     int z = 0;
     z = SIZEOF(Data, a);    //---- 4
     z = SIZEOF(Data, b);//---- 128
     z = SIZEOF(Data, c);//---- 128
     z = SIZEOF(Data, b[0]);//---- 4
     z = SIZEOF(Data, c[0]);//---- 1
     return 1;
 }