#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *p;//野指针
p = (char *)malloc(1);//p有了具体的内存指向
*p = 'c';
free(p);
p = NULL;
p = (char *)malloc(12);//强制转换为同类型,并开辟内存空间
if(p == NULL)
{
printf("malloc error\n");
exit(-1);
}
//memset(p,'\0',12);//给某一块内存空间赋值
printf("扩容前的地址: %x\n",p);
int len = strlen("xuzhijie132456789123456789");
int newlen = len - 12 + 1;
realloc(p,newlen);
printf("扩容后的地址: %x\n",p);
strcpy(p,"xuzhijie123456789123456798");
puts(p);
puts("end");
return 0;
}
【malloc和realloc和free和memset】的使用
最新推荐文章于 2024-07-16 18:00:34 发布