匈牙利命名法
Microsoft采用匈牙利命名法来命名Windows API函数和变量。匈牙利命名法是由Microsoft的著名开发人员、Excel的主要设计者查尔斯·西蒙尼在他的博士论文中提出来的,由于西蒙尼的国籍是匈牙利,所以这种命名法叫匈牙利命名法。
匈牙利命名法为C标识符的命名定义了一种非常标准化的方式,这种命名方式是以两条规则为基础的:
1、标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型。下表列出了常用的数据类型的标准前缀:
在Windows里定义数据类型的一些标准前缀
前缀 数据类型
c 字符(char)
s 短整数(short)
cb 用于定义对象(一般为一个结构)尺寸的整数
n 整数(integer)
sz 以’\0’结尾的字符串
b 字节
i int(整数)
x 短整数(坐标x)
y 短整数(坐标y)
f BOOL
w 字(WORD,无符号短整数)
l 长整数(long)
h HANDLE(无符号int)
m_ 类成员变量
fn 函数(function)
dw 双字(DWORD,无符号长整数)
2、在标识符内,前缀以后就是一个或者多个第一个字母大写的单词,这些单词清楚地指出了源代码内那个对象的用途。比如,m_szStudentName表示一个学生名字的类成员变量,数据类型是字符串型。
3、全程函数以“Afx”为前缀,所有全程变量都是以“afx”为前缀,宏不带任何特别前缀,但是全部大写。常见的全局函数和宏有:AfxGetApp,AfxGetMainWnd,AfxMessageBox,DEBUG_NEW等。
变量命名
命名必须具有一定的实际意义,形式为xAbcFgh,x由变量类型确定,Abc、Fgh表示连续意
义字符串,如果连续意义字符串仅两个,可都大写.如OK.
具体例程:
BOOL类型 bEnable;
ch * char chText
c * 类对象 cMain(对象实例)
h * Handle(句柄) hWnd
i * int
n * 无符号整型
p * 指针
sz,str * 字符串
w WORD
x,y 坐标
Char或者TCHAR类型 与Windows API有直接联系的用szAppName[10]形式否则用
FileName[10]形式,单个字符也可用小写字母表示;
Int类型 nCmdShow;
LONG类型 lParam;
UINT类型 uNotify;
DWORD类型 dwStart;
PSTR类型 pszTip;
LPSTR类 lpCmdLine
LPTSTR类型 lpszClassName;
LPVOID类型 lpReserved
WPARAM类型 wParam,
LPARAM类型 lParam
HWND类型 hDlg;
HDC类型 hDC;
HINSTANCE类型 hInstance
HANDLE类型 hInstance,
HICON类型 hIcon;
int iTmp
float fTmp
DWORD dw*
String , AnsiString str *
m_ 类成员变量
m_nVal, m_bFlag
g_ 全局变量
g_nMsg, g_bFlag
局部变量中可采用如下几个通用变量:nTemp,nResult,I,J(一般用于循环变量)。
其他资源句柄同上
.3常量命名和宏定义
常量和宏定义必须具有一定的实际意义;
常量和宏定义在#include和函数定义之间;
常量和宏定义必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,每一
条定义的右侧必须有一简单的注释,说明其作用;
资源名字定义格式:
菜单:IDM_XX或者CM_XX
位图:IDB_XX
对话框:IDD_XX
字符串:IDS_XX
DLGINIT:DIALOG_XX
ICON:IDR_XX
.4函数命名
函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源: 模
块名及文件名, 如是内部函数,只要注释其定义文件名;
第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线
间隔,示例如下:
void UpdateDB_Tfgd (TRACK_NAME); //Module Name :r01/sdw.c
void PrintTrackData (TRACK_NAME); //Module Name :r04/tern.c
void ImportantPoint (void); //Module Name :r01/sdw.c
void ShowChar (int , int , chtype); //Local Module
void ScrollUp_V (int , int) //Local Module
.5结构体命名
结构体类型命名必须全部用大写字母,原则上前面以下划线开始;结构体变量命名必须用
大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。对于私有数
据区,必须注明其所属的进程。全局数据定义只需注意其用途。
示例如下:
typedef struct
{
char szProductName[20];
char szAuthor[20];
char szReleaseDate[16];
char szVersion[10];
unsigned long MaxTables;
unsigned long UsedTables;
}DBS_DATABASE;
DBS_DATABASE GdataBase;
分享到:
相关推荐
在VC(MFC)开发环境中,熟悉常用的数据类型对于理解和编写高效的代码至关重要。MFC(Microsoft Foundation Classes)是Microsoft提供的一套基于C++的类库,用于简化Windows应用程序的开发。下面将详细介绍MFC中的...
一、VC 常用数据类型列表 VC++支持多种基本和特定于Windows的数据类型。以下是一些主要的数据类型: 1. boolean:8位,用于表示真/假值。 2. byte:8位无符号整数。 3. char:8位字符类型,通常用于处理ASCII字符。...
本文将详细解析"VC常用数据类型列表",包括各种基本类型、转换方法以及特定于Windows API和MFC的类型。 首先,VC++中的基础数据类型是编程的基础,包括布尔型(如boolean,TRUE/FALSE)、字符型(如char、wchar_t)...
在Windows程序设计中,了解和...在VC常用数据类型使用转换中,理解和掌握这些概念和技巧对于高效地开发Windows应用程序至关重要。熟练运用这些工具和消息机制能够帮助程序员编写出更加灵活、响应迅速且健壮的应用程序。
- `BOOL`:Windows API中常用的布尔类型,通常等同于`int`。 - `bool`:C++的基本布尔类型。 3. **整型**: - `short`:16位整数。 - `int`:32位整数。 - `long`:32位整数,但在64位系统中可能为64位。 - `...
在VC(Visual C++)编程环境中,理解并掌握各种数据类型对于编写高效、可靠的程序至关重要。本篇文章将详细介绍VC中的一些常见数据类型及其用途,帮助开发者更好地理解和应用这些基本构建块。 #### 1. 字符类型 - *...
总的来说,理解和掌握VC消息机制以及基础数据类型是Windows API编程的基础。通过对`hwnd`、消息常量、`wParam`和`lParam`的理解,开发者能够有效地响应用户交互和系统事件,构建出功能丰富的应用程序。同时,熟悉...
### VC基础数据类型定义 在进行VC++编程的过程中,数据类型的选择对于程序的效率和功能实现至关重要。本文将详细介绍VC++中的基础数据类型定义,帮助开发者更好地理解和运用这些类型。 #### 字符类 1. **CHAR ...
《VC常用数据类型总结》 在软件开发领域,尤其是使用Visual C++ (VC++) 进行编程时,理解和掌握常用的数据类型是至关重要的。本文将对VC中的一些常见数据类型进行详细阐述,以便于开发者更好地编写高效且无误的代码...
以下是对文档中提到的一些常用数据类型的详细说明: 1. **ATOM**:在Windows API中,ATOM是一种特殊的16位数值,用于表示在系统原子表中的字符串引用,通常用于注册类或创建全局字符串。 2. **BOOL**和**BOOLEAN**...
本文档旨在帮助读者理解VC中常见的数据类型,以及它们与C++标准数据类型的对应关系。 #### 二、数据类型介绍 1. **ATOM**:表示一个原子,通常用于标识唯一性,如标识符或资源。在VC中,`ATOM`实际上是一个`...
本文将基于提供的文件信息,深入解析VC++中的常用数据类型及其转换方法,旨在为开发者提供一份详尽的指南。 #### 一.VC常用数据类型列表 VC++中,数据类型主要分为基础类型和Win32 API类型两大类,具体如下: 1....
这个压缩包文件“vc获取windows系统的硬件信息.zip”包含了一系列与该主题相关的源代码和工程文件,让我们来深入探讨如何使用C++语言在Windows平台上获取硬件信息。 首先,`HardwareInfo.cpp`和`HardwareInfoDlg....
在Microsoft Visual C++ (VC) 编程环境中,数据类型的转换是常见的操作,尤其是在处理不同模块间的数据交互或兼容性问题时。以下是对标题和描述中提到的数据类型以及转换方法的详细说明: **1. CString** `CString`...
在Windows操作系统中,读取磁盘分区信息是数据恢复、系统维护或软件开发中的常见任务。这个VC(Visual C++)项目旨在实现这一功能,为后续的数据恢复工作提供必要的基础。下面将详细介绍如何使用VC来读取磁盘分区...
MFC提供了一系列的控件类,如按钮(`CButton`)、文本框(`CEdit`)、列表框(`CListBox`)、复选框(`CCheckBox`)等,这些类对应于Windows API中的各种窗口类型。通过继承这些类并重写特定的成员函数,可以实现...
这涉及到C++的基本数据类型,如int、double,以及操作符重载。对于标准计算,我们可以设置一个变量保存当前结果,每次运算都更新这个变量。对于科学计算,我们需要实现更复杂的数学函数,比如sin、cos、tan等,这...
在Windows环境下,Windows API是开发桌面应用程序的基础,它提供了大量的函数和数据类型,覆盖了窗口管理、图形绘制、文件操作、网络通信等多个方面。 VC++作为Microsoft的C++编译器,广泛用于Windows平台的软件...
本资源包含了一些在VC编程中常用的icon图标,对于开发者来说是十分实用的。 图标文件通常使用.ico格式,这种格式可以包含多个不同尺寸和颜色深度的图像,以适应不同的显示需求。在VC中,图标不仅用于应用程序的主...