C_C++语言程序设计笔试面试题6.pdfVIP

  • 5
  • 0
  • 约9.16千字
  • 约 10页
  • 2020-04-27 发布于安徽
  • 举报
试题 6 的 GetMemory避免了试题 4 的问题, 传入 GetMemory 的参数为字符串指针的指针, 但 是在 GetMemory 中执行申请内存及赋值语句 *p = (char *) malloc( num ); 后未判断内存是否申请成功,应加上: if ( *p == NULL ) { ...// 进行申请内存失败处理 } 试题 7 存在与试题 6 同样的问题,在执行 char *str = (char *) malloc(100); 后未进行内存是否申请成功的判断;另外,在 free(str) 后未置 str 为空,导致可能变成一 个“野”指针,应加上: str = NULL; 试题 6 的 Test 函数中也未对 malloc 的内存进行释放。 剖析: 试题 4~ 7 考查面试者对内存操作的理解程度,基本功扎实的面试者一般都能正确的回答其 中 50~60 的错误。但是要完全解答正确,却也绝非易事。 对内存操作的考查主要集中在: (1)指针的理解; (2 )变量的生存期及作用范围; (3 )良好的动态内存申请和释放习惯。 在看

文档评论(0)

1亿VIP精品文档

相关文档