malloc()和calloc()简介

来源:互联网 发布:写sql算研发么 编辑:程序博客网 时间:2024/06/07 14:06

在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/



原创粉丝点击