只是判断l中的数据成员elem是否为0,为0即执行if下面语句
这句是检测存储空间有没有成功分配,如果没有得到分配,就终止程序返回 OVERFLOW
exit(0)这个函数是结束程序的意思。一般函数用return返回上一级函数,主函数用return则返回操作系统,也就是程序终止运行。但这个函数可以直接跃过很多层直接回到操作系统。不建议用这个东西
if(!L->elem) printf("overflow!\n") //L->elem是判断L中的elem是否为NULL,如果elem为NULL,就说明L的elem溢出了,就输出overflow这句话。
如果elem为空则返回OK,否则返回OVERFLOW
一般两种情况:1、本机运行的程序太多以至于不能给现在新开的程序已足够的内存。2、自己写的程序有比较严重的内存泄露问题,加之数据量较大。解决方法:if(!L.elem) //分配失败,L.elem将为null,(!)取非就是非null,也就是条件为真,则执行下面的语句;exit(OVERFLOW); // 直接退出进程,返回...
如果L.elem为0(或NULL之类可以表示0值的东西),则终止当前函数,并返回ERROR,ERROR应该是在前面定义的一个宏
如果L.elem为零,返为结束码ERROR
如果 L.elem 为空(或0) 则返回False 否则 设置 L.length 为0,L.listsize = 最大Size
如果创建失败 那么L.elem =NULL !L.elem 就为真 ,那就执行 return ok;当然返回ok了