当前位置: 代码迷 >> 综合 >> malloc()和calloc()简介
  详细解决方案

malloc()和calloc()简介

热度:74   发布时间:2023-12-14 08:05:05.0

在C中,程序分配动态内存一般调用malloc(),但还有一个calloc(),本文对这两个函数进行简介。

1、malloc()

头文件:malloc.h   或  stdlib.h

函数名:extern void *malloc (size_t  size)

功能:分配一块大小为size的动态内存,返回该内存的首地址。

附上glibc-2.26的英文注释:/* Allocate SIZE bytes of memory.  */

2.calloc()

头文件:malloc.h   或  stdlib.h

函数名:extern void *calloc (size_t nmemb, size_t  size)

功能:分配nmemb块大小为size的连续的动态内存,返回该内存的首地址,并将内存内的数据初始化为零。

附上glibc-2.26的英文注释:/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0.  */

顺便附上几个与动态内存相关的函数:


extern void *realloc (void *ptr, size_t  size):扩展ptr指向的动态内存,拓展的大小为size

附上glibc-2.26的英文注释:/* Re-allocate the previously allocated block in __ptr, making the new  block SIZE bytes long.  */


extern void free (void * ptr):释放ptr指向的动态分配内存。

附上glibc-2.26的英文注释:/* Free a block allocated by `malloc', `realloc' or `calloc'.  */


附上一个挺详细的博客:http://blog.csdn.net/firecityplans/article/details/4490124/



  相关解决方案