C语言动态分配内存的函数

发布时间 2023-07-13 09:05:48作者: 风恬月淡时

今天在学习中碰见了动态分配内存有关的函数:malloc realloc calloc free。以下是详细的记录

"动态内存":在程序运行期间,动态分配内存空间,一般是在"堆,heap"空间上分配。

malloc: memory allocate 内存分配
realloc: repeat allocate 再分配——重新分配:一次内存分配完成之后,后面用的时候,发现不够用,再分配。
calloc: clear allocate 分配内存时同时清 0
free :释放
动态分配的内存,需要在你不用的时候,需要手动释放free,否则这个空间一直时你的。
动态内存分配:如果分配了空间,就一直存在,直到你手动free或者进程结束。

有时候,把动态分配的内存“匿名内存”,“匿名内存”只能通过他的指针去访问。

一、malloc 内存分配

#include<stdlib.h>//malloc的头文件
  malloc向系统申请一段连续的大小为size字节的空间,并且把内存的首地址返回(void*)
   
    void* malloc(size_t size);
  
  size: 你要分配多大的空间,单位是字节,要分配多大,就输入。
  返回值:
        内存开辟成功,返回开辟空间的首地址(void*)通用指针类型
        不成功,返回NULL