目录

  • 1.属性部分
  • 2.类型部分
  • 3.描述部分
  • 4.MFC、句柄、控件及结构的命名规范
  • 5.变量命名规范
  • 6.库标识符命名法
  • 7.举例
  • 8.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。

1.属性部分

g_   全局变量
c_  常量
m_  c++类成员变量
s_  静态变量

2.类型部分

数组     a
指针     p
长指针   Long Pointer
函数     fn
无效     v
句柄     h
长整型   l
布尔     b
浮点型(有时也指文件) f
双字     dw
字符串  sz
短整型  n
双精度浮点 d
计数    c(通常用cnt)
字符    ch(通常用c)
整型    i(通常用n)
字节    by
字      w
实型    r
无符号  u

3.描述部分

最大     Max
最小     Min
初始化   Init
临时变量 T(或Temp)
源对象   Src
目的对象 Dest

4.MFC、句柄、控件及结构的命名规范

Windows类型 样本变量 MFC类 样本变量
HWND hWnd CWnd* pWnd
HDLG hDlg CDialog* pDlg
HDC hDC CDC* pDC
HGDIOBJ hGdiObj CGdiObject* pGdiObj
HPEN hPen CPen* pPen
HBRUSH hBrush CBrush* pBrush
HFONT hFont CFont* pFont
HBITMAP hBitmap CBitmap* pBitmap
HPALETTE hPaltte CPalette* pPalette
HRGN hRgn CRgn* pRgn
HMENU hMenu CMenu* pMenu
HWND hCtl CState* pState
HWND hCtl CButton* pButton
HWND hCtl CEdit* pEdit
HWND hCtl CListBox* pListBox
HWND hCtl CComboBox* pComboBox
HWND hCtl CScrollBar* pScrollBar
HSZ hszStr CString pStr
POINT pt CPoint pt
SIZE size CSize size
RECT rect CRect rect

5.变量命名规范

ch char 8位字符 chGrade
ch TCHAR 如果_UNICODE定义,则为16位字符 chName
b BOOL 布尔值 bEnable
n int 整型(其大小依赖于操作系统) nLengt
n UINT 无符号值(其大小依赖于操作系统) nHeight
w WORD 16位无符号值 wPos
l LONG 32位有符号整型 lOffset
dw DWORD 32位无符号整型 dwRange
p * 指针 pDoc
lp FAR* 远指针 lpszName
lpsz LPSTR 32位字符串指针 lpszName
lpsz LPCSTR 32位常量字符串指针 lpszName
lpsz LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针 lpszName
h handle Windows对象句柄 hWnd
lpfn callback 指向CALLBACK函数的远指针
前缀 符号类型 实例 范围
IDR_ 不同类型的多个资源共享标识 IDR_MAIINFRAME 1~0x6FFF
IDD_ 对话框资源 IDD_SPELL_CHECK 1~0x6FFF
HIDD_ 对话框资源的Help上下文 HIDD_SPELL_CHECK 0x20001~0x26FF
IDB_ 位图资源 IDB_COMPANY_LOGO 1~0x6FFF
IDC_ 光标资源 IDC_PENCIL 1~0x6FFF
IDI_ 图标资源 IDI_NOTEPAD 1~0x6FFF
ID_ 来自菜单项或工具栏的命令 ID_TOOLS_SPELLING 0x8000~0xDFFF
HID_ 命令Help上下文 HID_TOOLS_SPELLING 0x18000~0x1DFFF
IDP_ 消息框提示 IDP_INVALID_PARTNO 8~0xDEEF
HIDP_ 消息框Help上下文 HIDP_INVALID_PARTNO 0x30008~0x3DEFF
IDS_ 串资源 IDS_COPYRIGHT 1~0x7EEF
IDC_ 对话框内的控件 IDC_RECALC 8~0xDEEF
应用程序符号命名规范Microsoft MFC宏命名规范:名称 类型
_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本
_ALPHA 仅编译DEC Alpha处理器
_DEBUG 包括诊断的调试版本
_MBCS 编译多字节字符集
_UNICODE 在一个应用程序中打开Unicode
AFXAPI MFC提供的函数
CALLBACK 通过指针回调的函数

6.库标识符命名法

标识符 值和含义
u ANSI(N)或Unicode(U)
d 调试或发行:D = 调试,忽略标识符为发行。
静态库版本命名规范:库 描述
NAFXCWD.LIB 调试版本:MFC静态连接库
NAFXCW.LIB 发行版本:MFC静态连接库
UAFXCWD.LIB 调试版本:具有Unicode支持的MFC静态连接库
UAFXCW.LIB 发行版本:具有Unicode支持的MFC静态连接库
动态连接库命名规范:名称 类型
_AFXDLL 唯一的动态连接库(DLL)版本
WINAPI Windows所提供的函数
Windows.h中新的命名规范:类型 定义描述
WINAPI 使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型
CALLBACK 使用在应用程序回叫例程,如窗口和对话框过程中的FAR PASCAL的位置
LPCSTR 与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*)
UINT 可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x为32位);它是unsigned int的同义词
LRESULT 窗口程序返回值的类型
LPARAM 声明lParam所使用的类型,lParam是窗口程序的第四个参数
WPARAM 声明wParam所使用的类型,wParam是窗口程序的第三个参数
LPVOID 一般指针类型,与(void *)相同,可以用来代替LPSTR

7.举例

hwnd :        h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;
pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示指向 EatApple 函数的函数指针变量。
g_cch :       g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。MFC、句柄、控件及结构的命名规范:
Windows类型 样本变量;MFC类 样本变量
HWND hWnd;
CWnd* pWnd;
HDLG hDlg;
CDialog* pDlg;
HDC hDC;
CDC* pDC;
HGDIOBJ hGdiObj;
CGdiObject* pGdiObj;
HPEN hPen;
CPen* pPen;
HBRUSH hBrush;
CBrush* pBrush;
HFONT hFont;
CFont* pFont;
HBITMAP hBitmap;
CBitmap* pBitmap;
HPALETTE hPaltte;
CPalette* pPalette;
HRGN hRgn;
CRgn* pRgn;
HMENU hMenu;
CMenu* pMenu;
HWND hCtl;
CState* pState;
HWND hCtl;
CButton* pButton;
HWND hCtl;
CEdit* pEdit;
HWND hCtl;
CListBox* pListBox;
HWND hCtl;
CComboBox* pComboBox;
HWND hCtl;
CScrollBar* pScrollBar;
HSZ hszStr;
CString pStr;
POINT pt;
CPoint pt;
SIZE size;
CSize size;
RECT rect;
CRect rect;

8.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C 语言 Hello World
  7. C 语言代码注释
  8. C 语言数据类型 / 变量类型
  9. C 语言变量声明和定义
  10. 变量命名 – 匈利亚命名法则

未经允许不得转载:猿说编程 » 变量命名 – 匈利亚命名法则

变量命名 – 匈利亚命名法则 - C语言零基础入门教程相关推荐

  1. C语言变量声明和定义 - C语言零基础入门教程

    目录 1.变量名的开头必须是字母或下划线,不能是数字 2.变量名中的字母是区分大小写的 3.变量名绝对不可以是 C 语言关键字 4.变量名中不能有空格 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...

  2. C语言 const 修饰变量 - C语言零基础入门教程

    目录 一.const 简介 二.const 实战 1.使用 const 修饰变量必须初始化 2.使用 const 修饰变量不初始化 3.修改 const 修饰变量的值 三.重点提示 四.猜你喜欢 零基 ...

  3. C语言数据类型 / 变量类型 - C语言零基础入门教程

    目录 一.C 语言数据类型分类 二.C 语言整形 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 4.超出取值范围的整形 三.C 语言浮点型 float ...

  4. Python 线程条件变量 Condition - Python零基础入门教程

    目录 一.Python 线程条件变量 Condition 函数 二.Python 线程条件变量 Condition 原理 三.Python 线程条件变量 Condition 使用 四.Python 线 ...

  5. Python变量 - Python零基础入门教程

    目录 一.前言 1.print 函数 2.format 函数 a.format 函数不设置下标 b.format 函数设置下标 3.占位符 二.整数 三.浮点数 四.字符串 五.BOOL 值 六.重点 ...

  6. 转:量化交易零基础入门教程之——python基本语法与变量

    感谢原作者:JoinQuant-TWist 转自:JoinQuant 重要提示:聚宽提供了非常好的数据库接口,愁没研究数据的小伙伴可以加微信(jqdata01)详细了解 原文链接:https://ww ...

  7. 《C#零基础入门之百识百例》(三十三)方法参数 -- 位置命名参数 -- 求长方体体积

    C#零基础入门 函数 -- 位置&命名参数 -- 求长方体体积 前言 一.位置参数 二,命名参数 三.实例练习 -- 求长方体体积 3.1 题目描述 3.2 练习目标 3.3 参考代码 前言 ...

  8. R语言七天入门教程二:认识变量与运算符

    R语言七天入门教程二:认识变量与运算符 一.什么是变量 1.变量 顾名思义,我们可以将变量理解为"可以改变的量",是计算机语言中能储存计算结果或能表示值的抽象概念.这里的值可以是数 ...

  9. python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型

    微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...

最新文章

  1. SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -
  2. 赠书:亿级流量峰值没在怕,“缓存”技术来减压!
  3. 科大星云诗社动态20210530
  4. pythn3随笔-enumerate()
  5. python判断一个对象是否可迭代_python - 在Python中,如何确定对象是否可迭代? - includeStdio...
  6. C语言高级技术之--游戏属性修改器(背景故事)
  7. js实现阶乘算法的三种方法
  8. 阿里云IoT Studio升级版新增解决方案引擎 大幅提升方案交付效率
  9. 深度优化LNMP之PHP
  10. 怪异的万圣节:图标素材,给对生活有仪式感的设计师!
  11. 台电t30_这次我真的是服了,8000mA的T30续航力真心不虚
  12. 解决办法:.No package ‘freetype2‘ found
  13. 《数据库系统概论》| 第四章 数据库安全性 知识梳理
  14. 驱动开发:内核遍历进程VAD结构体
  15. 真牛,大神将Windows 10改造成Windows XP(EXPERIENCE Freestyle)
  16. 在线语音转文字就是这么方便,快点击收藏吧!
  17. 压缩包文件设置了加密怎么解密
  18. CSDN的Markdown编辑器中等比例缩放图片的方法
  19. nginx 之 proxy_pass详解(好文章!!详细)
  20. 计算机博士英语缩写,学士、硕士、博士学位英文缩写.pdf

热门文章

  1. IDC报告:阿里云领跑中国数据库市场年度份额首超传统厂商
  2. KubeVela 上手(1)|让云端应用交付更加丝滑
  3. 微信不再提供小程序打开App?借助H5为App引流的方式你必须知道!
  4. 云原生数据仓库TPC-H第一背后的Laser引擎大揭秘
  5. 启迪公交上云助力北京公交二维码乘车业务系统顺利上线
  6. 阿里云 MVP技术直播——缪政辉教你如何搭建万能LNMP环境
  7. 被自己的行为蠢哭了,意识到原因后真香!
  8. 奇点云集聚数据中台优势,加速企业数智化升级
  9. 一文聊“图”,从图数据库到知识图谱
  10. 如何在DevSecOps道路上快速、安全地抵达终点