VC变量命名
- 格式:doc
- 大小:71.50 KB
- 文档页数:2
a Array 数组b BOOL (int) 布尔(整数)by Unsigned Char (Byte) 无符号字符(字节)c Char 字符(字节)cb Count of bytes 字节数cr Color reference value 颜色(参考)值cx Count of x (Short) x的集合(短整数)dw DWORD (unsigned long) 双字(无符号长整数)f Flags (usually multiple bit values) 标志(一般是有多位的数值) fn Function 函数g_ global 全局的h Handle 句柄i Integer 整数l Long 长整数lp Long pointer 长指针m_ Data member of a class 一个类的数据成员n Short int 短整数p Pointer 指针s String 字符串sz Zero terminated String 以0结尾的字符串tm Text metric 文本规则u Unsigned int 无符号整数ul Unsigned long (ULONG) 无符号长整数w WORD (unsigned short) 无符号短整数x,y x, y coordinates (short) 坐标值/短整数v void 空有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。
前缀类型例子g_ 全局变量 g_ServersC 类或者结构体 CDocument,CPrintInfom_ 成员变量 m_pDoc,m_nCustomersVC常用前缀列表:前缀类型描述例子ch char 8位字符 chGradech TCHAR 16位UNICODE类型字符 chNameb BOOL 布尔变量 bEnabledn int 整型(其大小由操作系统决定) nLengthn UINT 无符号整型(其大小由操作系统决定) nLengthw WORD 16位无符号整型 wPosl LONG 32位有符号整型 lOffsetdw DWORD 32位无符号整型 dwRangep * Ambient memory model pointer 内存模块指针,指针变量 pDoclp FAR* 长指针 lpDoclpsz LPSTR 32位字符串指针 lpszNamelpsz LPCSTR 32位常量字符串指针 lpszNamelpsz LPCTSTR 32位UNICODE类型常量指针 lpszNameh handle Windows对象句柄 hWndlpfn (*fn)() 回调函数指针Callback Far pointer to CALLBACK function lpfnAbortWindows对象名称缩写: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 hPalette; CPalette* pPalette; HRGN hRgn; CRgn* pRgn;HMENU hMenu; CMenu* pMenu;HWND hCtl; CStatic* pStatic;HWND hCtl; CButton* pBtn;HWND hCtl; CEdit* pEdit;HWND hCtl; CListBox* pListBox;HWND hCtl; CComboBox* pComboBox;VC常用宏定义命名列表:前缀符号类型符号例子范围IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1~0x6FFFIDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1~ 0x6FFFHIDD_ 基于对话框的上下文帮助 HIDD_SPELL_CHECK 0x20001~0x26FFIDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 1~0x6FFFIDC_ 光标资源(Cursor) IDC_PENCIL 1~0x6FFFIDI_ 图标资源(Icon) IDI_NOTEPAD 1~0x6FFFID_、IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令上下文帮助 HID_TOOLS_SPELLING 0x18000~0x1DFFFIDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 8~0xDFFFHIDP_ 消息框上下文帮助 HIDP_INVALID_PARTNO 0x30008~0x3DFFFIDS_ 字符串资源(String) IDS_COPYRIGHT 1~0x7FFFIDC_ 对话框内的控制资源 IDC_RECALC 8~0xDFFFMicrosoft MFC宏命名规范名称类型_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本_ALPHA 仅编译DEC Alpha处理器_DEBUG 包括诊断的调试版本_MBCS 编译多字节字符集_UNICODE 在一个应用程序中打开UnicodeAFXAPI MFC提供的函数CALLBACK 通过指针回调的函数库标识符命名法标识符值和含义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。
c语言中变量命名规则嘿,你知道吗?在编程的世界里,给变量起名字可是一门艺术活儿!就像给你的宠物取名字一样,我们得确保它既容易记,又有意义,对吧?今天,咱们就来聊聊C语言中变量命名的那些规矩,保证让你听了就上头,还想立马动手试试!想象一下,如果你是一名侦探,正在破解一个神秘案件,每个变量名就像是案件的关键线索。
“int detectiveCaseID = 101;”看,侦探案件的ID就这么直观地被命名为`detectiveCaseID`,这样一来,谁都能明白这个变量是干啥的。
再比如,“float goldPieces = ;”哈哈,一下子就知道这是最珍贵的黄金宝藏数量,是不是一目了然?起名字的时候啊,咱得记得别太长也别太短,太长了谁都记不住,比如“thisVariableStoresTheNumberOfSecondsElapsedSinceTheEpoch”,简直绕口得要命;太短了也不行,“a”、“b”、“c”这种,后缀一多就分不清谁是谁了。
所以,恰到好处才是王道,比如“currentTimeSecs”就刚刚好。
而且哦,尽量避免用那些容易混淆的单词,比如“count”和“calculate”就差了一个字母,但意思可差远了。
万一哪天你或者你的队友一不小心写错了,那可是能引出一大堆bug来!“int itemCount = 5;”这样,大家就都很清楚了嘛,这表示物品的数量是5。
记得,跟队友合作编程的时候,变量名得统一风格,就像大家一起讨论好的家规一样,得照着来。
不然,“totalAmount”和“TotalAmount”、“total_amount”混在一起,乱成一锅粥啊!你们可以向家人或者朋友展示一下,让他们也感受一下编程的乐趣,说不定他们还能给你提点新颖的建议呢!所以啊,给C语言中的变量起名字,真不是一个随便的事。
它们就像是你的编程小伙伴,得好好对待,才能让整个程序逻辑清晰、易于维护,读代码的时候也不用抓耳挠腮,烦恼连连。
转载:vc软件开发规范--------------------------------------------------------------------------------一、程序风格:1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。
要求相匹配的大括号在同一列,对继行则要求再缩进4格。
例如:2、提示信息字符串的位置在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。
3、对变量的定义,尽量位于函数的开始位置。
二、命名规则:1、变量名的命名规则①、变量的命名规则要求用“匈牙利法则”。
即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。
即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
见下表:bool(BOOL) 用b开头 bIsParentbyte(BYTE) 用by开头 byFlagshort(int) 用n开头 nStepCountlong(LONG) 用l开头 lSumchar(CHAR) 用c开头 cCountfloat(FLOA T) 用f开头 fAvgdouble(DOUBLE) 用d开头 dDetavoid(VOID) 用v开头 vV ariantunsigned int(WORD)用w开头 wCountunsigned long(DWORD) 用dw开头 dwBroadHANDLE(HINSTANCE)用h开头 hHandleDWORD 用dw开头 dwWordLPCSTR(LPCTSTR) 用str开头 strString用0结尾的字符串用sz开头 szFileName对未给出的变量类型要求提出并给出命名建议给技术委员会。
C/C++变量命名规则变量命名规则是为了增强代码的可读性和容易维护性。
以下为C++必须遵守的变量命名规则:1、变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
2、第一个字母必须是字母或者下划线开头。
3、不能使用C++关键字来命名变量,以免冲突。
4、变量名区分大小写。
变量命名规则:一、用最短字符表示最准确的意义。
二、使用变量前缀。
1、整型前缀int nId; //int前缀:nshort sId; //short前缀:sunsigned int unId // unsigned int 前缀:unlong lId; //long前缀:l2、浮点型前缀float fValue; //float前缀:fdouble dValue; //double前缀:d3、字符型前缀char chChar; //char前缀:ch4、字符串前缀char szPath; //char字符串前缀:szstring strPath; //string字符串前缀:strCString strPath; //MFC CString类前缀:str5、布尔型前缀bool bIsOK; //bool类型前缀:bBOOL bIsOK; //MFC BOOL前缀:b6、指针型前缀char * pPath; //指针前缀:p7、数组前缀int arrnNum; //数组前缀:arrCString arrstrName; //数组前缀+类型前缀+名称8、结构体前缀STUDENT tXiaoZhang; //结构体前缀:t9、枚举前缀enum emWeek; //枚举前缀:em10、字节的前缀BYTE byIP; //字节前缀:by11、字的前缀DWORD dwMsgID; //双字前缀:dwWORD wMsgID; //单字前缀:w12、字符指针前缀LPCTSTR ptszName; //TCHAR类型为ptszLPCSTR pszName; //pcszLPSTR pszName; //psz13、STL容器前缀vector<int> vecValue; //vector容器前缀:vec14、RECT矩形结构前缀RECT rcChild; //rcCRECT rcChild/ //rc15、句柄前缀HWND hWndDlg; //hHBRUSH hBr; //hHPEN hPen; //hHBITMAP hBmpBack; //h16、Windows颜色前缀COLORREF crFont; //cr17、Windows DC前缀CDC dcClient; //dc三、类的成员变量以m_开头,后面为变量,变量同时还要加前缀。
简述c语言对变量的命名规则
C语言对变量的命名规则是一个计算机编程语言所必备的部分,它们是用来定义和访问变量的规范。
C程序设计语言是一种经典和普遍使用的程序设计语言,它在变量命名方面有自己的一套规范。
本文将详细介绍C语言对变量命名规则的基本要求。
首先,C语言对变量命名规则的基本要求是:所有变量都必须有一个明确的名称,并且必须满足一定的标准。
C语言变量命名规则有以下几点:
1、变量名只能由字母、数字和_组成,其中字母必须是英文字母。
2、变量名必须以字母开头,不能以数字开头或者特殊字符开头。
3、变量名不能包含空格,可以使用下划线_来分割单词,但是不要过分依赖下划线,以免造成变量命名混乱和不便于理解。
4、变量名应尽可能简短、有意义。
虽然C语言没有强制定义变量命名规则,但恰当的变量命名有利于程序的调试、修改和维护,也可以减少程序代码出错的几率。
另外,建议在变量命名时尽量不去重复,以免出现意想不到的结果。
C语言常用来开发应用程序、嵌入式系统、操作系统等,因此,C语言对变量命名规则的基本要求是非常重要的,只有遵守这些规则,才能保证程序的正确性和可读性,让程序代码更加规范、
易懂。
对变量命名规范的重视,有助于程序员在编程的过程中,节省时间,深入编程的知识,并有效的避免出现错误。
整个编程过程,变量命名也是不可或缺的一部分,正确的遵守变量命名规范,能使程序更加专业,更加容易维护。
总之,遵守C语言对变量命名规则,对于提高编程质量,提高程序运行效率是非常有效的方法。
竭诚为您提供优质文档/双击可除c语言变量命名规范篇一:c语言常见命名规则c语言常见命名规则一、概述比较著名的命名规则首推匈牙利命名法,这种命名方法是由microsoft程序员查尔斯·西蒙尼(charlessimonyi)提出的。
其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
[例如]lpszstr,表示指向一个以\0结尾的字符串(sz)的长指针(lp)变量。
骆驼(camel)命名法近年来越来越流行,在许多新的函数库和java这样的平台下使用得当相多。
骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。
其中第一个单词首字母小写,余下的单词首字母大写。
[例如]printemployeepaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。
帕斯卡(pascal)命名法与骆驼命名法类似。
只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。
[例如]displayinfo()和username都是采用了帕斯卡命名法。
在c#中,以帕斯卡命名法和骆驼命名法居多。
事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。
另一种流行的命名规则称为下划线命名法。
下划线法是随着c语言的出现流行起来的,在unix/liunx这样的环境,以及gnu代码中使用非常普遍。
1、常量名用大写,太长时用下划线隔开:1.#definemax2.#defineincRement_size2、变量名采用小驼峰形式书写:1.intfirst2.floatnewelem3、函数名、结构名和联合名采用大驼峰形式书写:1.voidclearlist(list*l)2.{3.….4.}5.intputelem(intelem)6.{7.….8.}9.typedefstructlinknode10.{11.intdata;12.structlinknode*next;13.}*linkpoint;4、全局变量加前缀“g_”,其余特殊变量类似本章所述的命名规则主要基于下划线命名法发展而来。
C语言变量名命名规则
C语言变量名命名规则主要有三点:一、命名规则;二、大小写的使用;三、变量的命名范围。
1、C语言变量名命名规则:变量名可以由字母、数字、下划线组成,但不能以数字开头,C语言使用区分大小写,所以变量名区分大小写,不要使用C语言中的关键字和函数名称作为变量名,这样会导致程序错误。
2、C语言大小写使用,变量名区分大小写,而标识符(函数名,变量名,常量名)一般使用驼峰命名法,首字母采用小写,后面每个单词的首字母均大写。
3、C语言变量的命名范围:在不同的作用域,变量的命名是有范围的,即同一个变量,不同的作用域具有不同的命名范围。
比如在全局作用域,变量名称全局有效,范围是整个程序;在函数作用域,变量名称仅仅在该函数内有效,范围仅限于该函数。
C语言命名变量需要遵守上述三项规则。
不正确又不规范的命名会影响程序运行,多次出现这种情况后程序会出现运行BUG,所以一定要认真加以审视,确保变量名规范,程序才能正常运行。
c语⾔变量名、函数名的命名规则(1)的命名要清晰、明了,有明确含义,同时使⽤完整的单词或⼤家基本可以理解的缩写,避免使⼈产⽣误解——尽量采⽤采⽤英⽂单词或全部中⽂全拼表⽰,若出现英⽂单词和中⽂混合定义时,使⽤连字符“_”将英⽂与中⽂割开。
较短的单词可通过去掉“元⾳”形成缩写;较长的单词可取单词的头⼏个字母形成缩写;⼀些单词有⼤家公认的缩写。
例如:temp->tmp、->标志、statistic->stat、increment->inc、message->msg等缩写能够被⼤家基本认可。
(2)命名中若使⽤特殊约定或缩写,则要有注释说明。
应该在源⽂件的开始之处,对⽂件中所使⽤的缩写或约定,特别是特殊的缩写,进⾏必要的注释说明。
(3)⾃⼰特有的命名风格,要⾃始⾄终保持⼀致,不可来回变化。
个⼈的命名风格,在符合所在项⽬组或产品组的命名规则的前提下,才可使⽤。
(即命名规则中没有规定到的地⽅才可有个⼈命名风格)。
(4)对于变量命名,禁⽌取单个字符(如i 、j 、k... ),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的。
变量,尤其是局部变量,如果⽤单个字符表⽰,很容易敲错(如i写成j),⽽编译时⼜检查不出来,有可能为了这个⼩⼩的错误⽽花费⼤量的查错时间。
(5)除⾮必要,不要⽤数字或较奇怪的字符来定义标识符。
(6)命名规范必须与所使⽤的系统风格保持⼀致,并在同⼀项⽬中统⼀。
(7)在同⼀软件产品内,应规划好接⼝部分(变量、结构、函数及常量)的命名,防⽌编译、链接时产⽣冲突。
对接⼝部分的标识符应该有更严格限制,防⽌冲突。
如可规定接⼝部分的变量与常量之前加上“模块”标识等。
(8)⽤正确的组命名具有互斥意义的变量或相反作⽤的等。
下⾯是⼀些在软件中常⽤的反义词组。
add / remove begin / end create / destroyinsert / delete first / last g et / releaseincrement / decrement put / getadd / delete lock / unlock open / closemin / max old / new start / stopnext / previous source / target show / hidesend / receive source / destinationcut / paste up / down⽰例:intmin_sum;intmax_sum;intadd_user( BYTE *user_name );intdelete_user( BYTE *user_name );(9)除了编译开关/ 头⽂件等特殊应⽤,应避免使⽤_EXAMPLE_TEST_ 之类以下划线开始和结尾的定义。
c语言变量命名起始字母规则在定义变量时,变量名可以是字母、数字和下划线的组合。
但是也不是随便的组合,要注意以下几个命名规则:1、变量名以英文字母开头;变量名的开头不能是数字,可以由字母或下划线开头。
但,实际上编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。
随便打开一个头文件就会看到,它里面所有的变量名、宏名、函数名全是以下划线开始的。
所以为了避免与系统定义的名字产生冲突,在编程的时候,除非要求这么定义,否则永远都不要使用下划线作为一个变量名的开头。
正确的变量名:错误的变量名:2、不可以包含空格、标点符号和类型说明符(%、&、!、#、@、$); 12 34 //错误的变量名:不能包含空格、标点符号和类型说明符(%、&、!、#、@、$),只能是字int %age = 13; int a%ge = 13;int name age = 12;3、字母是区分大小写;4、有效长度为255个字符;5、不可以是关键字;C 语言中定义的关键字有:由ANSI标准定义的C语言关键字共32个:auto、double、int、struct、break 、else、long、switch、case、enum、register 、typedef、char 、extern 、return、union 、const、float 、short、unsigned、continue、for、signed 、void、default 、goto、sizeof 、volatile、do 、if 、while、static。
这32个关键字就是已经被C语言本身使用,不能作为其他用途使用,比如不能定义成变量名、函数名。
C/C++变量命名规则变量命名规则是为了增强代码的可读性和容易维护性。
以下为C++必须遵守的变量命名规则:1、变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
2、第一个字母必须是字母或者下划线开头。
3、不能使用C++关键字来命名变量,以免冲突。
4、变量名区分大小写。
变量命名规则:一、用最短字符表示最准确的意义。
二、使用变量前缀。
1、整型前缀int nId; //int前缀:nshort sId; //short前缀:sunsigned int unId // unsigned int 前缀:unlong lId; //long前缀:l2、浮点型前缀float fValue; //float前缀:fdouble dValue; //double前缀:d3、字符型前缀char chChar; //char前缀:ch4、字符串前缀char szPath; //char字符串前缀:szstring strPath; //string字符串前缀:strCString strPath; //MFC CString类前缀:str5、布尔型前缀bool bIsOK; //bool类型前缀:bBOOL bIsOK; //MFC BOOL前缀:b6、指针型前缀char * pPath; //指针前缀:p7、数组前缀int arrnNum; //数组前缀:arrCString arrstrName; //数组前缀+类型前缀+名称8、结构体前缀STUDENT tXiaoZhang; //结构体前缀:t9、枚举前缀enum emWeek; //枚举前缀:em10、字节的前缀BYTE byIP; //字节前缀:by11、字的前缀DWORD dwMsgID; //双字前缀:dwWORD wMsgID; //单字前缀:w12、字符指针前缀LPCTSTR ptszName; //TCHAR类型为ptszLPCSTR pszName; //pcszLPSTR pszName; //psz13、STL容器前缀vector<int> vecValue; //vector容器前缀:vec14、RECT矩形结构前缀RECT rcChild; //rcCRECT rcChild/ //rc15、句柄前缀HWND hWndDlg; //hHBRUSH hBr; //hHPEN hPen; //hHBITMAP hBmpBack; //h16、Windows颜色前缀COLORREF crFont; //cr17、Windows DC前缀CDC dcClient; //dc三、类的成员变量以m_开头,后面为变量,变量同时还要加前缀。