C语言学习14:内存管理

张建 lol

内存管理

C 语言为内存 分配和管理 提供了几个函数,这些函数都在 <stdlib.h> 头文件中

动态内存分配

  • 全局变量 分配在内存中的 静态存储区
  • 局部变量 分配在内存中的 动态存储区,存放在 栈(stack) 区。
  • 临时数据 分配在内存中的 动态存储区,存放在 堆(heap)
  1. malloc 函数开辟动态存储区

void * malloc(unsigned int size);

在内存动态存储区分配一个长度为size的连续空间,形参size类型为无符号整型

malloc(100):开辟100字节的临时分配域,其值为第一个字节的地址

  1. calloc 函数开辟动态存储区

void * calloc(unsigned n,unsigned int size);

内存中分配n个长度为size的连续空间

  1. recalloc 函数重新分配动态存储区

void * recalloc(void *p,unsigned int size);

如果已经用 malloccalloc 函数获取了,想改变大小,用 recalloc 重新分配

recalloc(p,50); // 将p所指向的已分配的动态内存改为50字节

  1. 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.
On this page
C语言学习14:内存管理