int InitList(SqList *L)
{ int MAX=1;
L->elem=(student *)malloc(sizeof(student)*MAX); //malloc 函数开辟存储空间
if(!L->elem)
exit(OVERFLOW);
L->length=0;
return OK;
}
OK和OVERFLOW应该是个常量或者宏,值应该都是0、1或者-1,表示状态的。
MAX再第二行定义着呢,表示学生最大数量
L-> elem
存储的最大 student 个数math.h
的一个宏定义,其值为3。含义为运算过程中出现了上溢,即运算结果超出了运算变量所能存储的范围。这句话就是说 malloc 没有获取到足够的内存,失败会返回 NULL 赋值给 L->elem,然后就直接退出, 带一个数值,一般 EXIT_SUCCESS 表示 0if (!L->elem)
exit
是程序退出函数 声明为void exit(int value);
其功能是退出当前的程序,并将参数value返回主调进程 ,exit(OVERFLOW)
的含义就是,退出程序,并返回 OVERFLOW 的值给主调进程。其标准的使用范围为,当程序运算出现上溢时,退出程序并报错给主调进程。都是英文 OVERFLOW溢出
MAX最大