C语言堆内存的分配和使用

创建内存

  根据大小分配内存

  void *malloc(size) size 分配的内存大小    返回指针如果返回NULL 就是分配失败  返回的类型为void *类型所以说使用前得转换

    int * p_h = (int *)malloc(100);   分配100字节大小的内存

  根据长度分配内存

  void *calloc(int num,int size)    在内存中动态分配num个长度为size的连续空间 并且每一个字都初始化为0  malloc不会初始化为0  同样的返回指针 如果失败返回NULL

 

重新分配内存

  void *realloc(void *prt,size);    重新调整之前分配内存的大小   prt需要填入分配内存的指针 如果为空指针会创建一块大小为size的内存分配,,并且会返回一个指向的指针

   null=rellalloc(p_h,size);       重新分配指针p_h的内存  大小为size    分配失败会返回NULL

 

释放内存

  void free(void *address);    释放address指向的内存块,释放的是malloc 等函数申请出来的空间

posted @ 2020-03-01 17:18  冫恋丶  阅读(439)  评论(0编辑  收藏  举报