C 内存管理

mac2026-03-02  3

参考链接:https://www.runoob.com/cprogramming/c-memory-management.html C在头文件stdlib.h中提供了几个函数用于内存的分配和管理。

名称描述void *calloc(int num,int size)分配num个长度为size的连续内存空间、并且每个字节都初始化void free(void *address)释放地址所指向的内存块void *malloc(int num)在堆区分配一块指定大小的内存空间void realloc(void address int newsize)重新为address分配内存,分配的大小有newsize所指定

void为没有指定类型的指针、C规定void 类型可以通过强制类型转换为任何类型的指针

实例

//先定义一个类型的指针,该指针指向未定义所需内存大小的字符 char *description; //使用malloc()分配 description=(char *)malloc(200*sizeof(char));//注意有强制类型转换 //重新分配 description=(char *)realloc(description ,100*sizeof(char)); //释放内存空间 free(description);

当程序退出的时候,操作系统会自动释放所有分配给程序的内存。但是使用完毕后随时释放是一个良好的习惯

最新回复(0)