Windows数据类型的命名都很有规律。
基本数据类型包括 BYTE、CHAR、WORD、SHORT、DOWRD、INT 等。
指针类型的命令方式一般是在其指向的数据类型前加“LP”或“P”,比如指向 DWORD的指针类型为“LPDWORD”和“PDWORD”。各种句柄类型的命令方式一般都是在对象名前加“H”。Windows 系统中有很多对象,所有表示一个对象的数据类型都是句柄,每一种对象都对应着一种句柄类型,比如与位图( BITMAP)对应的句柄类型为“HBITMAP”,与菜单(MENU)对应的句柄类型为“HMENU”,与窗口(WINDOW)对应的句柄类型为“HWND”。 无符号类型一般是以“U”开头,比如“INT”是符号类型,“UINT”是无符号类型,“LONG”是符号类型“ULONG”是无符号类型等。
- #include<stdio.h>
- #include<windows.h>
- #pragma comment (lib,"User32.lib")
- int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){
- LPSTR szString = "I'm string";
- CHAR lpString[120];
- DWORD dwMax= 0xFFFFFFFF;
- DWORD dwOne = 0x1;
- INT iMax=0xFFFFFFFF;
- INT iOne=0x1;
- MessageBox(NULL,szString,"LPSTR",MB_OK);
- CopyMemory(lpString,szString,lstrlen(szString)+1);
- MessageBox(NULL,szString,"CHAR[]",MB_OK);
- if(dwMax>dwOne){
- MessageBox(NULL,"DWORD 's 0xFFFFFFFF>0x1","DWORD",MB_OK);
- }
- if(iMax<iOne)
- {
- MessageBox(NULL,"INT's 0xFFFFFFFF<0x1","INT",MB_OK);
- }
- return 0;
- }
#include<stdio.h>
#include<windows.h>
#pragma comment (lib,"User32.lib")
int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){
LPSTR szString = "I'm string";
CHAR lpString[120];
DWORD dwMax= 0xFFFFFFFF;
DWORD dwOne = 0x1;
INT iMax=0xFFFFFFFF;
INT iOne=0x1;
MessageBox(NULL,szString,"LPSTR",MB_OK);
CopyMemory(lpString,szString,lstrlen(szString)+1);
MessageBox(NULL,szString,"CHAR[]",MB_OK);
if(dwMax>dwOne){
MessageBox(NULL,"DWORD 's 0xFFFFFFFF>0x1","DWORD",MB_OK);
}
if(iMax<iOne)
{
MessageBox(NULL,"INT's 0xFFFFFFFF<0x1","INT",MB_OK);
}
return 0;
}
在这个程序中,使用了 4 种Windows 数据类型,分别是 LPSTR、CHAR、DWORD 和INT。 LPSTR 类型的数据是字符串,也就是字符指针,CHAR 是字符,DWORD是 32 位的无符号整数,INT是 32 位有符号整数。 程序运行后会弹出 4 个对话框。 这说明 dwMax>dwOne 是成立的。 iMax<iOne 也是成立的。dwMax 与 iMax 的数值是一样的,dwOne 与 iOne 的数值也是一样的。但是比较结果不同,是因为二者的数据类型不一样。
Windows程序设计变量命名规范的建议:
变量名:通常采用所谓的“匈牙利命名法”,变量名由“类型缩写(小写)”+“变量描述(单词首字母大写) ”构成,如字符串类型的变量可以命名为 szFileName,DWORD 类型的数据可以命名为 dwFileSize,指针类型可以命名为 lpBuffer,句柄类型的变量可以命名为 hLogFile 等。
函数名:各单词的首字母大写,如 EnumerateFilesInDrectory、ShowFileSize 等。
类型名:全大写,各单词以下划线分隔,如 WIN32_FILE_ ATTRIBUTE_DATA、DWORD、HANDLE 等。
常量:同类型名的命名方式。
宏:多与类型名命名方式相同,有的也与函数名命名方式相同。
大括号与代码段:一般大括号独立占一行,大括号内的代码段缩进。如果代码段仅一行(如 if-else 后的语句),也建议使用大括号。
在调用或定义函数时,如果函数太长,可以分行写,将每个参数写一行。一般多于 3个参数的函数需要分行写,以美观和方便阅读为原则。
本篇博客出自 阿修罗道,转载请注明出处: http://blog.csdn.net/fansongy/article/details/7063779