Windows
						数据类型(一)
				
		
		
				
						
						
								 
						
				
		
		
				
						  由微软
						Windows
						操作系统所支持的各种数据类型是用来定义函数的返回值、函数和消息的参数以及结构体成员(因为
						Win32
						程序是用
						C
						语言来编写,所以没有“类”这个概念)的。这些数据类型定义了上述元素的尺码(在内存中的,也就是占用内存的字节数)和含义。笔者以前一直不太注意这些东西,结果在程序设计时可谓步履维艰。不同类型的常
						/
						变量,在程序用扮演的角色相去甚远,了解这些类型,对剖析程序的工作原理是非常有用的。今天又是周末,我把这些类型列出来,然后把它们的“原形”也找出来——是不是很像“照妖镜”呀。
				
		
		
				
						
								       
						
						下面这张表里包括这些类型:字符类型(
						character
						),整数类型(
						integer
						),逻辑值类型(布尔型,海峡那边的兄弟们喜欢叫“布林型”,
						Boolean
						),指针类型(
						pointer
						),句柄型(
						handle
						)。其中,字符类型、整数类型和逻辑值(布尔)类型是
						C
						语言编译器通用的,也就是与标准
						C
						语言一样。大多数指针类型都是以
						
								P
						
						(
						Pointer
						)或者
						
								LP
						
						(
						Long Pointer
						)前缀开头。“句柄”是指被装载进内存的一个资源(本质而言就是指一定范围内的唯一编号)。
				
		
		
				
						  下面这张表是我结合MSDN里的资料制作的,因为自己也是初学,做的还比较粗糙,请大家多多指正:)
				
		
		
				
				
				
						
								
										
										
										
										
										
								
						
						
								
										| 
												
														Windows数据类型
												
										 | 
										
												
														本质类型
												
										 | 
										
												
														字节数
												
										 | 
										
												
														定义过程(来历)
												
										 | 
										
												
														含义
												
										 | 
								
								
										| 
												
														ATOM
												
										 | 
										
												unsigned short
										 | 
										
												2
										 | 
										
												unsigned short→WORD→ATOM
										 | 
										
												在Atom表中,一键(16位整数)一值(一个String)为一个Atom。
										 | 
								
								
										| 
												
														BOOL
												
										 | 
										
												int
										 | 
										
												*
										 | 
										
												int→BOOL
										 | 
										
												逻辑变量,布尔值 (取值为 TRUE 或 FALSE)
										 | 
								
								
										| 
												
														BOOLEAN
												
										 | 
										
												unsigned char
										 | 
										
												1
										 | 
										
												unsigned char→BYTE→BOOLEAN
										 | 
										
												逻辑变量,布尔值 (取值为 TRUE 或 FALSE)
										 | 
								
								
										| 
												
														BYTE
												
										 | 
										
												unsigned char
										 | 
										
												1
										 | 
										
												unsigned char→BYTE
										 | 
										
												字节型,8位。
										 | 
								
								
										| 
												
														CALLBACK
												
										 | 
										
												__stdcall
										 | 
										
												调用
										 | 
										
												__stdcall→CALLBACK
										 | 
										
												回调函数的调用约定
										 | 
								
								
										| 
												
														CHAR
												
										 | 
										
												char
										 | 
										
												1
										 | 
										
												char→CHAR
										 | 
										
												8位Windows字符(ANSI)
										 | 
								
								
										| 
												
														COLORREF
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→DWORD→COLORREF
										 | 
										
												红,绿,蓝(RGB)值
										 | 
								
								
										| 
												
														CONST
												
										 | 
										
												const
										 | 
										
												关键字
										 | 
										
												const→CONST
										 | 
										
												常量
										 | 
								
								
										| 
												
														CRITICAL_SECTION
												
										 | 
										
												RTL_CRITICAL_SECTION结构体
										 | 
										
												?
										 | 
										
												RTL_CRITICAL_SECTION(结构)→CRITICAL_SECTION
										 | 
										
												Critical-section对象
										 | 
								
								
										| 
												
														DWORD
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→DWORD
										 | 
										
												32位无符号整数
										 | 
								
								
										| 
												
														DWORD_PTR
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→ULONG_PTR→DWORD_PTR(另有其它路径)
										 | 
										
												略……(用处挺大,不过太长了)
										 | 
								
								
										| 
												
														DWORD32
												
										 | 
										
												unsigned int
										 | 
										
												*
										 | 
										
												unsigned int→DWORD32
										 | 
										
												32位无符号整数
										 | 
								
								
										| 
												
														DWORD64
												
										 | 
										
												unsigned __int64
										 | 
										
												8
										 | 
										
												unsigned __int64→DWORD64
										 | 
										
												64位无符号整数
										 | 
								
								
										| 
												
														FLOAT
												
										 | 
										
												float
										 | 
										
												4
										 | 
										
												float→FLOAT
										 | 
										
												浮点数变量
										 | 
								
								
										| 
												
														HACCEL
												
										 | 
										
												HACCEL__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义的指向HACCEL__结构体的指针
										 | 
										
												快捷键列表的句柄
										 | 
								
								
										| 
												
														HANDLE
												
										 | 
										
												void *(一个地址)
										 | 
										
												 
										 | 
										
												void *→HANDLE
										 | 
										
												对象的句柄
										 | 
								
								
										| 
												
														HBITMAP
												
										 | 
										
												HBITMAP__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义的指向HBITMAP__结构体的指针
										 | 
										
												位图的句柄
										 | 
								
								
										| 
												
														HBRUSH
												
										 | 
										
												HBRUSH__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												画刷的句柄
										 | 
								
								
										| 
												
														HCONV
												
										 | 
										
												HCONV__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												动态数据交换(DDE)会话的句柄
										 | 
								
								
										| 
												
														HCONVLIST
												
										 | 
										
												HCONVLIST__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												动态数据交换(DDE)会话列表的句柄
										 | 
								
								
										| 
												
														HCURSOR
												
										 | 
										
												HICON__结构体指针
										 | 
										
												 
										 | 
										
												HICON__ *→HICON→HCURSOR
										 | 
										
												光标的句柄
										 | 
								
								
										| 
												
														HDC
												
										 | 
										
												HDC__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												设备上下文(DC)的句柄
										 | 
								
								
										| 
												
														HDDEDATA
												
										 | 
										
												HDDEDATA__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												动态数据交换数据的句柄
										 | 
								
								
										| 
												
														HDESK
												
										 | 
										
												HDESK__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												桌面(Desktop)的句柄
										 | 
								
								
										| 
												
														HDROP
												
										 | 
										
												HDROP__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												Handle to an internal drop structure.
										 | 
								
								
										| 
												
														HDWP
												
										 | 
										
												void *(一个地址)
										 | 
										
												 
										 | 
										
												void *→HANDLE→HDWP
										 | 
										
												Handle to a deferred window position structure.
										 | 
								
								
										| 
												
														HENHMETAFILE
												
										 | 
										
												HENHMETAFILE__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												增强图元文件的句柄
										 | 
								
								
										| 
												
														HFILE
												
										 | 
										
												int
										 | 
										
												*
										 | 
										
												int→HFILE
										 | 
										
												由OpenFile(而不是CreateFile)打开的文件的句柄.
										 | 
								
								
										| 
												
														HFONT
												
										 | 
										
												HFONT__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												字体的句柄
										 | 
								
								
										| 
												
														HGDIOBJ
												
										 | 
										
												void near *
										 | 
										
												 
										 | 
										
												void NEAR *→HGDIOBJ
										 | 
										
												GDI对象的句柄
										 | 
								
								
										| 
												
														HGLOBAL
												
										 | 
										
												void *(一个地址)
										 | 
										
												 
										 | 
										
												void *→HANDLE→HGLOBAL
										 | 
										
												全局内存块的句柄
										 | 
								
								
										| 
												
														HHOOK
												
										 | 
										
												HHOOK__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												句子(hook)的句柄
										 | 
								
								
										| 
												
														HICON
												
										 | 
										
												HICON__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												图标的句柄
										 | 
								
								
										| 
												
														HIMAGELIST
												
										 | 
										
												_IMAGELIST结构体指针
										 | 
										
												 
										 | 
										
												_IMAGELIST *→HIMAGELIST
										 | 
										
												图片列表的句柄
										 | 
								
								
										| 
												
														HIMC
												
										 | 
										
												HIMC__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												输入上下文的句柄
										 | 
								
								
										| 
												
														HINSTANCE
												
										 | 
										
												HINSTANCE__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												实例的句柄
										 | 
								
								
										| 
												
										 | 
								
						
				
				 
				
						续表
				
				
				
				
						
								
								
								
								
								
						
						
								
										| 
												
														INT
												
										 | 
										
												int
										 | 
										
												*
										 | 
										
												int→INT
										 | 
										
												32位有符号整数
										 | 
								
								
										| 
												
														INT_PTR
												
										 | 
										
												int(_W64 int即__w64 int)
										 | 
										
												*
										 | 
										
												_W64 int→INT_PTR,_W64就是__w64,是为了解决32位与64位编译器的兼容性而设置的关键字
										 | 
										
												用于指针运算
										 | 
								
								
										| 
												
														INT32
												
										 | 
										
												signed int
										 | 
										
												*
										 | 
										
												signed int→INT32
										 | 
										
												32位有符号整数
										 | 
								
								
										| 
												
														INT64
												
										 | 
										
												signed __int64
										 | 
										
												8
										 | 
										
												signed __int64→INT64
										 | 
										
												64位有符号整数
										 | 
								
								
										| 
												
														LANGID
												
										 | 
										
												unsigned short
										 | 
										
												2
										 | 
										
												unsigned short→WORD→LANGID
										 | 
										
												语言标识符
										 | 
								
								
										| 
												
														LCID
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→DWORD→LCID
										 | 
										
												Locale identifier.
										 | 
								
								
										| 
												
														LCTYPE
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→DWORD→LCTYPE
										 | 
										
												
														
																Locale information type. 
														
												
										 | 
								
								
										| 
												
														LONG
												
										 | 
										
												long
										 | 
										
												4
										 | 
										
												long→LONG
										 | 
										
												32位有符号整数
										 | 
								
								
										| 
												
														LONG_PTR
												
										 | 
										
												long
										 | 
										
												4
										 | 
										
												_W64 long→LONG_PTR
										 | 
										
												用于指针运算
										 | 
								
								
										| 
												
														LONG32
												
										 | 
										
												signed int
										 | 
										
												*
										 | 
										
												signed int→LONG32
										 | 
										
												32位有符号整数
										 | 
								
								
										| 
												
														LONG64
												
										 | 
										
												__int64
										 | 
										
												8
										 | 
										
												__int64→LONG64
										 | 
										
												64位有符号整数
										 | 
								
								
										| 
												
														LONGLONG
												
										 | 
										
												__int64
										 | 
										
												8
										 | 
										
												__int64→LONGLONG
										 | 
										
												64位有符号整数
										 | 
								
								
										| 
												
														LPARAM
												
										 | 
										
												long
										 | 
										
												4
										 | 
										
												_W64 long→LONG_PTR→LPARAM
										 | 
										
												消息的参数
										 | 
								
								
										| 
												
														LPBOOL
												
										 | 
										
												int *
										 | 
										
												 
										 | 
										
												int→BOOL, BOOL far *→LPBOOL
										 | 
										
												BOOL类型的指针
										 | 
								
								
										| 
												
														LPBYTE
												
										 | 
										
												unsigned char *
										 | 
										
												 
										 | 
										
												unsigned char→BYTE,BYTE far *→LPBYTE
										 | 
										
												BYTE类型的指针
										 | 
								
								
										| 
												
														LPCOLORREF
												
										 | 
										
												unsigned long *
										 | 
										
												 
										 | 
										
												unsigned long→WORD,DWORD *→LPCOLORREF
										 | 
										
												颜色值的指针
										 | 
								
								
										| 
												
														LPCRITICAL_SECTION
												
										 | 
										
												RTL_CRITICAL_SECTION结构体指针
										 | 
										
												 
										 | 
										
												RTL_CRITICAL_SECTION *PRTL_CRITICAL_SECTION→,PRTL_CRITICAL_SECTION→LPCRITICAL_SECTION
										 | 
										
												CRITICAL_SECTION的指针
										 | 
								
								
										| 
												
														LPCSTR
												
										 | 
										
												静态char *
										 | 
										
												 
										 | 
										
												char→CHAR,CONST CHAR *→LPCSTR
										 | 
										
												静态8位Windows字符(ANSI)无终结字符串指针
										 | 
								
								
										| 
												
														LPCTSTR
												
										 | 
										
												静态wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,CONST WCHAR *→LPCWSTR,LPCWSTR→LPCTSTR
										 | 
										
												如果UNICODE已定义则为LPCWSTR,否则为LPCTSTR
										 | 
								
								
										| 
												
														LPCVOID
												
										 | 
										
												静态void *
										 | 
										
												 
										 | 
										
												CONST void far *→LPCVOID
										 | 
										
												任何类型的静态指针
										 | 
								
								
										| 
												
														LPCWSTR
												
										 | 
										
												静态wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,CONST WCHAR *→LPCWSTR
										 | 
										
												静态16位Windows字符(Unicode)无终结字符串指针
										 | 
								
								
										| 
												
														LPDWORD
												
										 | 
										
												unsigned long *
										 | 
										
												 
										 | 
										
												unsigned long→DWORD,DWORD far *→LPDWORD
										 | 
										
												DWORD的指针
										 | 
								
								
										| 
												
														LPHANDLE
												
										 | 
										
												指向句柄的指针
										 | 
										
												 
										 | 
										
												void *→HANDLE,HANDLE FAR *→LPHANDLE
										 | 
										
												HANDLE的指针
										 | 
								
								
										| 
												
														LPINT
												
										 | 
										
												int *
										 | 
										
												 
										 | 
										
												int far *→LPINT
										 | 
										
												INT的指针
										 | 
								
								
										| 
												
														LPLONG
												
										 | 
										
												long *
										 | 
										
												 
										 | 
										
												long far *→LPLONG
										 | 
										
												LONG的指针
										 | 
								
								
										| 
												
														LPSTR
												
										 | 
										
												char *
										 | 
										
												 
										 | 
										
												char→CHAR,CHAR *→LPSTR
										 | 
										
												8位Windows字符(ANSI)无终结字符串指针
										 | 
								
								
										| 
												
														LPTSTR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t WCHAR,WCHAR *→LPWSTR,LPWSTR→LPTSTR
										 | 
										
												An LPWSTR if UNICODE is defined, an LPSTR otherwise.
										 | 
								
								
										| 
												
														LPVOID
												
										 | 
										
												void *
										 | 
										
												 
										 | 
										
												void far *→LPVOID
										 | 
										
												任何类型的指针
										 | 
								
								
										| 
												
														LPWORD
												
										 | 
										
												unsigned short *
										 | 
										
												 
										 | 
										
												unsigned short→WORD,WORD far *→LPWORD
										 | 
										
												WORD的指针
										 | 
								
								
										| 
												
														LPWSTR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→LPWSTR
										 | 
										
												16位Windows字符(ANSI)无终结字符串指针
										 | 
								
								
										| 
												
														LRESULT
												
										 | 
										
												long
										 | 
										
												4
										 | 
										
												_W64 long→LONG_PTR→LRESULT
										 | 
										
												有符号的消息处理结果
										 | 
								
								
										| 
												
														LUID
												
										 | 
										
												LUID结构
										 | 
										
												 
										 | 
										
												 
										 | 
										
												局部唯一标识符
										 | 
								
								
										| 
												
														PBOOL
												
										 | 
										
												int *
										 | 
										
												 
										 | 
										
												int→BOOL,BOOL near *→PBOOL
										 | 
										
												BOOL的指针
										 | 
								
								
										| 
												
														PBOOLEAN
												
										 | 
										
												unsigned char *
										 | 
										
												 
										 | 
										
												unsigned char→BYTE→BOOLEAN,BOOLEAN *→PBOOLEAN
										 | 
										
												BOOL的指针
										 | 
								
								
										| 
												
														PBYTE
												
										 | 
										
												unsigned char *
										 | 
										
												 
										 | 
										
												unsigned char→BYTE,BYTE near *→PBYTE
										 | 
										
												BYTE的指针
										 | 
								
								
										| 
												
														PCHAR
												
										 | 
										
												char *
										 | 
										
												 
										 | 
										
												char→CHAR,CHAR *→PCHAR
										 | 
										
												CHAR的指针
										 | 
								
								
										| 
												
														PCRITICAL_SECTION
												
										 | 
										
												RTL_CRITICAL_SECTION结构体指针
										 | 
										
												 
										 | 
								
						
				
				 
				
						续表
				
				
				
				
						
								
								
								
								
								
						
						
								
										| 
												
														POINTER_32
												
										 | 
										
												void *
										 | 
										
												 
										 | 
										
												void *→POINTER_32
										 | 
										
												32位指针(详解略)
										 | 
								
								
										| 
												
														POINTER_64
												
										 | 
										
												void *
										 | 
										
												 
										 | 
										
												void *→POINTER_64
										 | 
										
												64位指针(详解略)
										 | 
								
								
										| 
												
														PSHORT
												
										 | 
										
												short *
										 | 
										
												 
										 | 
										
												short→SHORT,SHORT *→PSHORT
										 | 
										
												SHORT的指针
										 | 
								
								
										| 
												
														PSTR
												
										 | 
										
												char *
										 | 
										
												 
										 | 
										
												char→CHAR,CHAR *→PSTR
										 | 
										
												8位Windows字符(ANSI)无终结字符串指针
										 | 
								
								
										| 
												
														PTBYTE
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→PTBYTE
										 | 
										
												TBYTE的指针
										 | 
								
								
										| 
												
														PTCHAR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→PTCHAR
										 | 
										
												TCHAR的指针
										 | 
								
								
										| 
												
														PTSTR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→LPWSTR→PTSTR
										 | 
										
												PWSTR if UNICODE is defined, a PSTR otherwise.
										 | 
								
								
										| 
												
														PTBYTE
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→PTBYTE
										 | 
										
												TBYTE的指针
										 | 
								
								
										| 
												
														PTCHAR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→PTCHAR
										 | 
										
												TCHAR的指针
										 | 
								
								
										| 
												
														PTSTR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→LPWSTR→PTSTR
										 | 
										
												A PWSTR if UNICODE is defined, a PSTR otherwise.
										 | 
								
								
										| 
												
														PUCHAR
												
										 | 
										
												unsigned char *
										 | 
										
												 
										 | 
										
												unsigned char→UCHAR,UCHAR *→PUCHAR
										 | 
										
												UCHAR的指针
										 | 
								
								
										| 
												
														PUINT
												
										 | 
										
												unsigned int *
										 | 
										
												 
										 | 
										
												unsigned int *→PUINT(呵呵,为什么不用UINT*来定义呢?)
										 | 
										
												UINT的指针
										 | 
								
								
										| 
												
														PULONG
												
										 | 
										
												unsigned long *
										 | 
										
												 
										 | 
										
												unsigned long→ULONG,ULONG *→PULONG
										 | 
										
												ULONG的指针
										 | 
								
								
										| 
												
														PUSHORT
												
										 | 
										
												unsigned short *
										 | 
										
												 
										 | 
										
												unsigned short→USHORT,USHORT *→PUSHORT
										 | 
										
												USHORT的指针
										 | 
								
								
										| 
												
														PVOID
												
										 | 
										
												void *
										 | 
										
												 
										 | 
										
												void *→PVOID
										 | 
										
												任何类型的指针
										 | 
								
								
										| 
												
														PWCHAR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→PWCHAR
										 | 
										
												WCHAR的指针
										 | 
								
								
										| 
												
														PWORD
												
										 | 
										
												unsigned short *
										 | 
										
												 
										 | 
										
												unsigned short→WORD,WORD near *→PWORD
										 | 
										
												WORD的指针
										 | 
								
								
										| 
												
														PWSTR
												
										 | 
										
												wchar_t *
										 | 
										
												 
										 | 
										
												wchar_t→WCHAR,WCHAR *→PWSTR
										 | 
										
												16位Windows字符(Unicode)无终结字符串指针
										 | 
								
								
										| 
												
														REGSAM
												
										 | 
										
												unsigned long
										 | 
										
												 
										 | 
										
												unsigned long→DWORD→ACCESS_MASK→REGSAM
										 | 
										
												注册表值的安全访问掩码
										 | 
								
								
										| 
												
														SC_HANDLE
												
										 | 
										
												SC_HANDLE__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												Handle to a service control manager database.
										 | 
								
								
										| 
												
														SC_LOCK
												
										 | 
										
												void *
										 | 
										
												 
										 | 
										
												void far *→LPVOID→SC_LOCK
										 | 
										
												
														Handle to a service control manager database lock. 
												
										 | 
								
								
										| 
												
														SERVICE_STATUS_HANDLE
												
										 | 
										
												SERVICE_STATUS_HANDLE__结构体指针
										 | 
										
												 
										 | 
										
												由DECLARE_HANDLE(name)宏定义……
										 | 
										
												
														Handle to a service status value. 
												
										 | 
								
								
										| 
												
														SHORT
												
										 | 
										
												short
										 | 
										
												2
										 | 
										
												short→SHORT
										 | 
										
												短整数类型(16位)
										 | 
								
								
										| 
												
														SIZE_T
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→ULONG_PTR→SIZE_T
										 | 
										
												指针可指向的最大字节数
										 | 
								
								
										| 
												
														SSIZE_T
												
										 | 
										
												long
										 | 
										
												 
										 | 
										
												_W64 long→LONG_PTR→SSIZE_T
										 | 
										
												有符号SIZE_T.
										 | 
								
								
										| 
												
														TBYTE
												
										 | 
										
												wchar_t
										 | 
										
												2
										 | 
										
												wchar_t→WCHAR,WCHAR→TBYTE
										 | 
										
												如果UNICODE已定义则为WCHAR,否则为CHAR
										 | 
								
								
										| 
												
														TCHAR
												
										 | 
										
												wchar_t
										 | 
										
												2
										 | 
										
												wchar_t→WCHAR,WCHAR→TCHAR
										 | 
										
												如果UNICODE已定义则为WCHAR,否则为CHAR
										 | 
								
								
										| 
												
														UCHAR
												
										 | 
										
												unsigned char
										 | 
										
												1
										 | 
										
												unsigned char→UCHAR
										 | 
										
												无符号CHAR
										 | 
								
								
										| 
												
														UINT
												
										 | 
										
												unsigned int
										 | 
										
												*
										 | 
										
												unsigned int→UINT
										 | 
										
												无符号INT
										 | 
								
								
										| 
												
														UINT_PTR
												
										 | 
										
												unsigned int
										 | 
										
												*
										 | 
										
												unsigned int→UINT_PTR
										 | 
										
												无符号INT_PTR.
										 | 
								
								
										| 
												
														UINT32
												
										 | 
										
												unsigned int
										 | 
										
												2
										 | 
										
												unsigned int→UINT32
										 | 
										
												无符号INT32.
										 | 
								
								
										| 
												
														UINT64
												
										 | 
										
												unsigned __int64
										 | 
										
												4
										 | 
										
												unsigned __int64→UINT64
										 | 
										
												无符号INT64.
										 | 
								
								
										| 
												
														ULONG
												
										 | 
										
												unsigned long
										 | 
										
												4
										 | 
										
												unsigned long→ULONG
										 | 
										
												无符号LONG.
										 | 
								
								
										| 
												
										 | 
								
						
				
				 
				
						最后这张表是Visual C++ 7.1编译器支持的数据类型,也就是Windows各种数据类型的“根源”了。
				
				
				
				
						
								
										
										
										
										
								
						
						
								
										| 
												
														数据类型名称
												
										 | 
										
												
														字节数
												
										 | 
										
												
														别名
												
										 | 
										
												
														取值范围
												
										 | 
								
								
										| 
												
														int
												
										 | 
										
												*
										 | 
										
												signed,signed int
										 | 
										
												由操作系统决定,即与操作系统的"字长"有关
										 | 
								
								
										| 
												
														unsigned int
												
										 | 
										
												*
										 | 
										
												unsigned
										 | 
										
												由操作系统决定,即与操作系统的"字长"有关
										 | 
								
								
										| 
												
														__int8
												
										 | 
										
												1
										 | 
										
												char,signed char
										 | 
										
												–128 到 127
										 | 
								
								
										| 
												
														__int16
												
										 | 
										
												2
										 | 
										
												short,short int,signed short int
										 | 
										
												–32,768 到 32,767
										 | 
								
								
										| 
												
														__int32
												
										 | 
										
												4
										 | 
										
												signed,signed int
										 | 
										
												–2,147,483,648 到 2,147,483,647
										 | 
								
								
										| 
												
														__int64
												
										 | 
										
												8
										 | 
										
												无
										 | 
										
												–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
										 | 
								
								
										| 
												
														bool
												
										 | 
										
												1
										 | 
										
												无
										 | 
										
												false 或 true
										 | 
								
								
										| 
												
														char
												
										 | 
										
												1
										 | 
										
												signed char
										 | 
										
												–128 到 127
										 | 
								
								
										| 
												
														unsigned char
												
										 | 
										
												1
										 | 
										
												无
										 | 
										
												0 到 255
										 | 
								
								
										| 
												
														short
												
										 | 
										
												2
										 | 
										
												short int,signed short int
										 | 
										
												–32,768 到 32,767
										 | 
								
								
										| 
												
														unsigned short
												
										 | 
										
												2
										 | 
										
												unsigned short int
										 | 
										
												0 到 65,535
										 | 
								
								
										| 
												
														long
												
										 | 
										
												4
										 | 
										
												long int,signed long int
										 | 
										
												–2,147,483,648 到 2,147,483,647
										 | 
								
								
										| 
												
														long long
												
										 | 
										
												8
										 | 
										
												none (but equivalent to __int64)
										 | 
										
												–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
										 | 
								
								
										| 
												
														unsigned long
												
										 | 
										
												4
										 | 
										
												unsigned long int
										 |