#include<alloc.h>
#include<stddef.h>
#include<mem.h>
void* calloc( size_t nsize,size_t elsize)
{
unsigned long msize;
register char *cp;
msize=nsize* elsize;//理解为msize的大小为nsize乘以 elsize个
cp=(msize>0xffff)?NULL:malloc((unsigned)msize);//分配msize个内存空间
if(cp)
{
setmem(cp,(unsiged)msize,0);//0可以换成其他数据或字符
}
return cp;
}
函数的功能是分配连续的内存空间,且初始化为0;