内存管理

cooolr 于 2022-03-21 发布
#include <stdlib.h>
#include <string.h>

char *a;
// 初始分配
a = (char *)malloc(sizeof(char));
// 动态扩展(数据类型长度 * 字符长度)
a = (char *)realloc(a, (int)(sizeof(char)*(strlen(a)+1024)));
// 释放内存
free(a);
1.为了避免碎片过多,malloc分配是有最小划分单位的,这具体得看编译器实现
2.他可能看还有空就给你继续申请空间了,反正是动态申请
3.你这不捣乱吗,具体为什么这取决于编译器实现
#include <malloc.h>

malloc_usable_size(a);