1.void* malloc(size_size) ;
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<stdio.h>
int main ()
{
int*p=(int*)malloc(10*sizeof(int));
if(p=NULL)
{
printf("%s",strerror(errno));
}
else
{
for(i=0;i<10;i++)
{
*(p+i)=i;
}
for(i=0;i<10;i++)
{
printf("%d",*(p+i));
]
}
free(p)
p=NULL;
return 0;
]
2.void*calloc(size_t num,size_t size);
1.函数的功能是为num个大小为size的元素开辟一块空间,并且把空间的每个字节初始化为0.
2.与函数malloc的区别之在与calloc会在返回地址之前把申请的空间的每个字节初始化为全0.
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
int main()
{
int*p=(int*)calloc(10,sizeof(int));
if(p== NULL)
{
printf("%s\n",strerror(errno));
}
else
{
int i=0;
for(i=0;i<10;i++)
{
printf("%d",*(p+i));
}
}
free(p);
p=NULL;
return 0;
}
3.void*realloc(void*memblock,size_t size)
#include< stdio.h>
#include<stdlib.h>
#include<errno.h>
int main()
{
int*p=(int*)malloc(20);
if(p==NULL)
{
printf("%s",strerror(erron));
}
else
{
int i=0
for(i =0;i<5;i++)
printf("%d\n",*(p+i));
}
int*ptr=(int*)realloc(p,40)
if(ptr!=NULL)
{
int* ptr=p;
int i=0
for(i=0;i<10;i++)
{
*(p+i)=i;
}
for(i=0;i<10;i++)
{
printf("%d",*(p+i));
}
}
free(p);
p=NULL;
reutrn 0;
}
4.void free (void* memclock)
释放动态内存空间的函数