软件开发环境良好程序风格.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
由于匈牙利命名法可以被应用在任何程序设计语言和环境中,因此被微软广泛用在C语言中,特别是在Microsoft Windows里。由此一来,许多常见的匈牙利命名法的结构都和Windows紧密相关: hwndFoo?: 窗口句柄 lpszBar?: 指向零结束字符串的长指针 这种命名法又是在C++中被扩展而包含变量的作用域,由一个下划线隔开: g_nWheels?: 全局命名空间的成员,整型 m_nWheels?: 结构体/类成员,整型 .NET Framework,微软新的软件开发平台,除了接口类型一般不适用匈牙利命名法。在.NET中,习惯在接口类型前放一个I(例如Windows Forms中的IButtonControl接口。).NET Framework指导方针建议程序员不要用匈牙利命名法 Java的标准库中连接口类型也不加前缀。 Delphi naming convention First character is uppercase. If variable or class or method name is made of multiple words, the first character of every word is uppercase The first character of private/protected member variable is F. Example: PrinterDriver APrinterDriver; //the first is class //name, the second is variable name. * 2.4 数组的边界问题和数据大小的问题 对C语言无边界检查: 当你要访问的元素超出了数组边界,编译时不会报错,只有在运行时才会出错 int s[3]; for (i = 0; i 30; i++) s[i] = i; //数组只有三个元素,但循环时访问了三十个元素。这是错误的 红色的标志的内存,它不属于数组,但是程序要写数据,这是很危险的 0 1 2 3 4 … s 解决方法: 可以用常量定义数组的边界,然后用这个常量去作为循环的边界 #define _MaxCount 3 int s[_MaxCount]; for (i = 0; i _MaxCount; i++) s[i] = i; 多维数组容易发生堆栈溢出 类型 var_name[size1][size2]…[sizen]; 多维数组的元素个数是 is size1 * size2 *.. sizen. 例子 int sample[2][3][4].//该数组有 2 * 3 *4= 24个元素 var_name 占用 type size * size1 * size2 *… *sizen.字节 sample 占用4 * 2 * 3 *4 = 96 字节, int占用4字节. 注意: 用多维数组很容易发生内存溢出,局部变量存有栈中,Windows下线程的缺省栈为1M,数组的占用空间很容易大于这个空间 #include stdio.h void main(int argc, char * argv[]){ int i1, i2; //the local variable sample need allocate memory on stack char sample[1024][1024];//the array is 1Mbytes = 1024 *1024*1 for (i1 = 0; i1 1024; i1++) for(i2 = 0; i2 1024 ; i2++) sample[i1][i2] = c; getchar(); } Sample 空间只有 1M字节, 当运行时很容易发生内存溢出 #include stdio.h //the global variable sample need allocate memory on data segment, so the program ok. char sample[1024][1024];//the array is 1Mbytes = 1024 *1024*1 void main(int argc, char * argv[]){ int i1, i2; for (i1 = 0; i1 1024; i1++) for(i2 = 0; i2 1024 ; i2++)

文档评论(0)

smartxiaohuli + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档