C语言程序设计动态空间管理.pptVIP

  • 4
  • 0
  • 约1.44万字
  • 约 51页
  • 2019-12-13 发布于广东
  • 举报
动态空间管理 在实际编程时,养成一个良好的习惯,申请动态空间后,一定要判断是否申请成功,如果不成功,则要用一定的方式使程序结束,以免进行后续无效的操作。例: int* pa=(int*)calloc(n,sizeof(int)); if(pa==NULL) //如果申请动态空间失败 { printf(allocation failure); exit(1); //终止程序控制权交给操作系统 } 动态空间在不使用时,应该释放,方法是:调用free函数 形式为: free(指针变量名); 例如: free(pa); 必须用#include stdlib.h包含 NULL是符号常量,就是0,此条件也可以写成if(!pa) 动态空间管理 动态空间的生命周期:从执行动态分配函数malloc或calloc开始,到执行free 函数结束。 动态空间没有作用域问题:动态空间没有名称,不能直接引用,只能通过指针来间接引用,而间接引用的目的就是通过传递指针实现数据空间的共享,因此对动态分配的数据空间,没有作用域问题,也不存在冲突问题。也就是说,在这个生命周期里,任何函数只要拥有这个空间的指针,就可以间接访问该空间。 动态空间资源的“耗尽”:1个函数调用动态分配函数malloc或?calloc,申请了动态空间,可是该函数直到结束都没有调用free函数来撤销该动态空

文档评论(0)

1亿VIP精品文档

相关文档