等级考试二级C专家编程读书笔记(上).docxVIP

等级考试二级C专家编程读书笔记(上).docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
等级考试二级C专家编程读书笔记(上)   2、这也是为什么C++ 语言令人绝望的缘由:它对C语言中存在的一些最根本的问题没有什么改良,而它对C语言最重要的扩展(类)却是建立在脆弱的C类型模型上。   3、看一段代码: int main(void) { int pa=0; char * avarsc[] = { “color monitor“, “big disk“, “Cray“ “on-line drawing routhines“, “mouse“, “keyboard“, “power cables“, }; char ** pp; pp = avarsc; printf(“%s\n“, avarsc[2]); // output Crayon-line drawing routhines printf(“%s\n“, *(pp++)); // output big disk scanf(“%d“, pa); return 1; }   留意字符串数组的定义,最终那个逗号,还有“Cray“后头没有逗号其实avarsc是个字符指针的指针。   曾经写过一个这样错误的代码,要为一个字符串: ““ 申请空间,应当是STRLEN(“\“\““)却写成了STRLEN(““““),编译没有错误,也就没有留意,在后来走查代码的时候,发觉了错误的地方,多亏为它多申请了不少空间,不然这又是个难以发觉的内存错误。   4、全局变量由C编译程序在动态区之外的固定存储区域中存储。当程序中多个函数都使用同一数据时,全局变量将是很有效的。然而,由于三种缘由,应避开使用不必要的全局变量:   ①不管是否需要,它们在整个程序执行期间均占有存储空间。   ②由于全局变量必需依靠外部定义,所以在使用局部变量就可以到达其功能时使用了全局变量,将降低函数的通用性,这是由于它要依靠其本身之外的东西。   ③大量使用全局变量时,不行知的和不需要的副作用将可能导致程序错误。如在编制大型程序时有一个重要的问题:变量值都有可能在程序其它地点偶然转变。   5、在编译时安排存储空间的变量称为静态存储变量,定义的静态存储变量无论是做全程量或是局部变量,其定义和初始化在程序编译时进展。作为局部变量,调用函数完毕时,静态存储变量不消逝并且保存原值。   补充:对于静态全局变量,主要是为了保证性。   补充:关于static的三点正确见解   A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;   B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度;   C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;

文档评论(0)

156****1993 + 关注
实名认证
文档贡献者

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

认证主体王**

1亿VIP精品文档

相关文档

相关课程推荐