举个例子:
LPSTR=L+P+STR=long+pointer+string=32位字符串类型指针
PSTR=P+STR=pointer+string=字符串类型指针
LPSZ=L+P+SZ=long+pointer+以/0结尾的字符串=32位字符串类型指针(以NULL结尾)
(也可简单理解LP为32位的指针)
这种代码编写方式的好处显而易见:易学、好记、代码通用性强、可读性好……
不说了,整理一些常用的东东吧。
常用匈牙利表示法前缀的类型及其说明
──────────────────
前缀 类型 说明
──────────────────
ch char 字符
──────────────────
b BOOL 布尔值
──────────────────
n(I) int 整数
──────────────────
w WORD 16位无符号数
──────────────────
l LONG 32位有符号数
──────────────────
dw DWORD 32位无符号数
──────────────────
lpsz LPTSTR 指向字符串的32位指针
──────────────────
h Handle 窗口对象句柄
一些常见的前缀:
c Char字符
by BYTE字节(无符号字符)
n Short短整数和整数(表示一个数)
i int整数
x, y Short短整数(通常用于x坐标和y坐标)
cx, cy short短整数(通常用于表示x和y的长度;c表示计数)
b BOOL(整数)
w UINT(无符号整数)和WORD(无符号字)
l LONG(长整数)
dw DWORD(无符号长整数)
fn 函数指针
s 字符串
sz,str 以一个字节的0(空值)终止的字符串
lp 32位指针
h 编号 (常用于表示Windows对象)
msg 消息