C语言学习14:内存管理
内存管理
C 语言为内存 分配和管理
提供了几个函数,这些函数都在 <stdlib.h>
头文件中
动态内存分配
全局变量
分配在内存中的静态存储区
局部变量
分配在内存中的动态存储区
,存放在栈(stack)
区。临时数据
分配在内存中的动态存储区
,存放在堆(heap)
区
- 用
malloc
函数开辟动态存储区
void * malloc(unsigned int size);
在内存动态存储区分配一个长度为size的连续空间,形参size类型为无符号整型
malloc(100):开辟100字节的临时分配域,其值为第一个字节的地址
- 用
calloc
函数开辟动态存储区
void * calloc(unsigned n,unsigned int size);
内存中分配n个长度为size的连续空间
- 用
recalloc
函数重新分配动态存储区
void * recalloc(void *p,unsigned int size);
如果已经用 malloc
和 calloc
函数获取了,想改变大小,用 recalloc
重新分配
recalloc(p,50); // 将p所指向的已分配的动态内存改为50字节
- 用
free
函数释放动态存储区
void free(void *p);
其作用是释放指针变量p所指向的动态空间。
- Post title:C语言学习14:内存管理
- Post author:张建
- Create time:2023-02-15 00:14:03
- Post link:https://redefine.ohevan.com/2023/02/15/C学习/C语言学习14:内存管理 2/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.