如何实现用C编写calloc函数

来源:百度知道 编辑:UC知道 时间:2024/05/11 12:08:17
char *calloc(unsinged n,unsinged size)
分配N个大小为SIZE的连续单元,返回起始单元地址.

不好意思,之前写错了
现在是更正版的

#include <stdio.h>
#include <string.h>
int split(char *str,char *cut_char,char **sn)
{
int l=strlen(cut_char);
int L=strlen(str);
char *s=*sn;
int k=0;
while (L>0 || (L==0 && s!=*sn))
{
if (L==0 || (L>=l && strncmp(str,cut_char,l)==0))
{
*s=0;
str+=l;
L-=l;
sn++;
k++;
s=*sn;
}
else
{
*(s++)=*(str++);
L--;
}
}
return k;
}

我对C的内存分配函数不是太熟,我下面这段主函数是C++的
整个程序用C++编译后可以正常运行
int main()
{
char *sn[100];
sn[0]=new char[100];
sn[1]=new char[100];
sn[2]=new char[100];
split("abcd**efgh**ij","**",sn);
puts(sn[0]);
puts(sn[1]);
puts(sn[2]);
return 0;
}

/* 这个是标准的实现方式 */
#include <errno.h>
#include <limits.h>
#include <stdlib.h>
#include &l