typedef unsigned long       DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef float               FLOAT;
typedef FLOAT               *PFLOAT;
typedef BOOL near           *PBOOL;
typedef BOOL far            *LPBOOL;
typedef BYTE near           *PBYTE;
typedef BYTE far            *LPBYTE;
typedef int near            *PINT;
typedef int far             *LPINT;
typedef WORD near           *PWORD;
typedef WORD far            *LPWORD;
typedef long far            *LPLONG;
typedef DWORD near          *PDWORD;
typedef DWORD far           *LPDWORD;
typedef void far            *LPVOID;
typedef CONST void far      *LPCVOID;

typedef int                 INT;
typedef unsigned int        UINT;
typedef unsigned int        *PUINT;


DWORD其实就是unsigned   long,UINT则是unsigned   int。   
16位Windows中long是4字节,而int只有两个字节,它们是不同的;
32位Windows中都是4字节,因此DWORD与UINT在Win32中是一样的。

int   是标准的计算机的位数   16位机   ,32位机,   64   位机分别为16,32,64   
8位单片机字长8bit,所以int   long等都是软件扩展出来的,对于32位的win来说   
  int   =   32   
  long   =   32   
  short   =   16

不过long、short、int所占的字节数和编译器也有关

可以在vc中使用sizeof来查看其长度,如

sizeof(int)=4,说明是4个字节,也就是32位;

由于标准并没有说明具体位数,很多编译器&平台都是自己的标准。
总之   sizeof(long)>=   sizeof(int)>=sizeof(short) 

posted on 2016-03-12 11:42  care2014  阅读(3481)  评论(0编辑  收藏  举报