c语言第08讲匈牙利命名法

c语言第08讲匈牙利命名法

ID:34707793

大小:53.54 KB

页数:3页

时间:2019-03-09

c语言第08讲匈牙利命名法_第1页
c语言第08讲匈牙利命名法_第2页
c语言第08讲匈牙利命名法_第3页
资源描述:

《c语言第08讲匈牙利命名法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第08讲匈牙利命名法一、匈牙利命名法匈牙利命名法计算机程序设计中的一种命名规则,用这种方法命名的变量显示了其数据类型。匈牙利命名法有两种:系统匈牙利命名法和匈牙利应用命名法。匈牙利命名法被设计成语言独立的,并且首次在BCPL语言中被大量使用。由于BCPL只有机器字这一种数据类型,因此这种语言本身无法帮助程序员来记住变量的类型。匈牙利命名法通过明确每个变量的数据类型来解决这个问题。在匈牙利命名法中,一个变量名由n个小写字母开始,这些字母有助于记忆变量的类型和用处,紧跟着的就是程序员选择的任何名称。这个后半部分的首字母可以大写以区别前面的类型指示字母(参见驼峰式大小写)。二、系统

2、匈牙利命名法与匈牙利应用命名法1、系统命名法与应用命名法的区别在于前缀的目的在系统匈牙利命名法中,前缀代表了变量的实际数据类型。例如:lAccountNum:变量是一个长整型("l");arru8NumberList:变量是一个无符号8位整型数组("arru8");szName:变量是一个零结束字符串("sz"),这是西蒙尼最开始建议的前缀之一。匈牙利应用命名法不表示实际数据类型,而是给出了变量目的的提示,或者说它代表了什么。rwPosition:变量代表一个行("rw")。usName:变量代表一个非安全字符串("us"),需要在使用前处理。strName:变量代表一个包含

3、名字的字符串("str")但是没有指明这个字符串是如何实现的。2、西蒙尼建议的大多数前缀都是自然语义的,但不是所有由于这种命名法通常使用小写字母开头用来助记,但是并没有对助记符本身作规定。有几种被广泛使用的习惯(见下面的示例),但是任意字母组合都可以被使用,只要它们在代码主体中保持一致就可以了。在使用匈牙利系统命名法的代码中有时候也可能包含系统匈牙利命名法,即在描述被单独以类型方式定义的变量时使用。3、示例(有几种被广泛使用的习惯)aArray数组bBOOL(int)布尔(整数)byUnsignedChar(Byte)无符号字符(字节)cChar字符(字节)cbCountof

4、bytes字节数crColorreferencevalue颜色(参考)值cxCountofx(Short)x的集合(短整数)dwDWORD(unsignedlong)双字(无符号长整数)fFlags(usuallymultiplebitvalues)标志(一般是有多位的数值)fnFunction函数g_global全局的hHandle句柄iInteger整数lLong长整数lpLongpointer长指针m_Datamemberofaclass一个类的数据成员nShortint短整数pPointer指针sString字符串szZeroterminatedString以0结尾的

5、字符串tmTextmetric文本规则uUnsignedint无符号整数ulUnsignedlong(ULONG)无符号长整数wWORD(unsignedshort)无符号短整数x,yx,ycoordinates(short)坐标值/短整数vvoid空VC常用前缀列表:前缀类型描述例子chchar8位字符chGradechTCHAR16位UNICODE类型字符chNamebBOOL布尔变量bEnablednint整型(其大小由操作系统决定)nLengthnUINT无符号整型(其大小由操作系统决定)nLengthwWORD16位无符号整型wPoslLONG32位有符号整型lOf

6、fsetdwDWORD32位无符号整型dwRangep*Ambientmemorymodelpointer内存模块指针,pDoc指针变量lpFAR*长指针lpDoclpszLPSTR32位字符串指针lpszNamelpszLPCSTR32位常量字符串指针lpszNamelpszLPCTSTR32位UNICODE类型常量指针lpszNamehhandleWindows对象句柄hWndlpfn(*fn)()回调函数指针CallbackFarpointertolpfnAbortCALLBACKfunction库标识符命名法标识符值和含义uANSI(N)或Unicode(U)d调试或

7、发行:D=调试;忽略标识符为发行三、系统匈牙利命名法的优点(一些只适用于系统匈牙利命名法)支持者声称匈牙利命名法的好处包括:1、从名字中就可以看出变量的类型2、拥有类似语义的多个变量可以在一个代码块中使用:dwWidth,iWidth,fWidth,dWidth3、变量名在仅仅知道他们的类型时可以被轻易记住4、可以使变量名更加一致5、决定一个变量名的时候可以更机械化,更快6、不合适的类型转换和操作可以在阅读代码的时候被检测出来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。