C 内存管理

参考链接: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);

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

posted @ 2019-10-25 19:57  凌晨四点的蓝  阅读(197)  评论(0编辑  收藏  举报