Windows Data Type

来源:互联网 发布:淘宝产品质检报告 编辑:程序博客网 时间:2024/06/05 12:58

windows中的数据类型是将C语言的基础数据类型进行再包装产生的,并不是一种新的数据类型.它只适用于windows的SDK中,并不在其他地方通用.

这里写图片描述
这里写图片描述
这里写图片描述

上面是windows将c语言的基础数据类型进行再包装后产生的数据类型..另外windows还包装了一些结构体和一些权限操作的数据类型

数据类型的本质其实上是我们可以操作内存的大小

内存大小的单位
bit内存中最小的单位
byte 1byte = 8bit..byte是数据类型的最小单位
这里写图片描述

Windows部分数据类型

BOOL
typedef int BOOL
BOOL在Windows中占4byte
1表示TRUE, 0表示FALSE

BOOLEAN
typedef BYTE BOOLEAN
BOOLEAN 占1BYTE
1表示TRUE, 0表示FALSE

DWORD
typedef unsigned long DWORD
DWORD 在Windows中是比较常用的一个数据类型

DWORD_PTR
typedef unsigned long DWORD_PTR
DWORD_PTR本质看起来与DWORD一样,,但是他们的语义会有所不同
DWROD_PTR代表里面存放的数据为一个地址,虽然它本身不是一个指针,但是我们可以通过强制转换对它存的地址里面的值进行改变,,

DWORD dwNum = 10;DWORD_PTR dwpNum = &dwNum;*(DWORD*)dwpNum = 100;

这样dwNum的值就变成了100
虽然这种用法很别扭,,但它会在WinAPI的传参或者返回值中用到

HANDLE
typedef void* HANDLE
这个也是在windows编程中经常会使用到的一个数据类型

CHAR
typedef char CHAR 8bit

WCHAR
typedef wchar_t WCHAR 16bit

windows命名的规则

用LPCWSTR举例
L –> long
P –> point
C –> const
W –> 代表宽字节
STR代表一个字符串

1 0