⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windows data type.txt

📁 windows程序设计的数据类型讲解
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Windows Data Types

Windows数据类型

 

  由微软Windows操作系统所支持的各种数据类型是用来定义函数的返回值、函数和消息的参数以及结构体成员(因为Win32程序是用C语言来编写,所以没有“类”这个概念)的。这些数据类型定义了上述元素的尺码(在内存中的,也就是占用内存的字节数)和含义。笔者以前一直不太注意这些东西,结果在程序设计时可谓步履维艰。不同类型的常/变量,在程序用扮演的角色相去甚远,了解这些类型,对剖析程序的工作原理是非常有用的。今天又是周末,我把这些类型列出来,然后把它们的“原形”也找出来——是不是很像“照妖镜”呀。

    下面这张表里包括这些类型:字符类型(character),整数类型(integer),逻辑值类型(布尔型,海峡那边的兄弟们喜欢叫“布林型”,Boolean),指针类型(pointer),句柄型(handle)。其中,字符类型、整数类型和逻辑值(布尔)类型是C语言编译器通用的,也就是与标准C语言一样。大多数指针类型都是以P(Pointer)或者LP(Long Pointer)前缀开头。“句柄”是指被装载进内存的一个资源(本质而言就是指一定范围内的唯一编号)。

  下面这张表是我结合MSDN里的资料制作的,因为自己也是初学,做的还比较粗糙,请大家多多指正:)

  由微软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        │红,绿,蓝(RGB)值             │
│                  │                    │      │→COLORREF                  │                                │
├─────────┼──────────┼───┼──────────────┼────────────────┤
│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)宏定义│增强图元文件的句柄              │
│                  │指针                │      │...                         │                                │

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -