动态存储分配

常用的内存管理函数有三个:
1、分配内存空间函数malloc、calloc
2、释放内存空间函数free

malloc:
函数原型为void *malloc(unsigned int size);

其作用是在内存的动态存储区中分配一个长度为size的连续空间(size是一个无符号数)。

此函数的返回值是一个指向分配域起始地址的指针(类型为void)。

如果此函数未能成功地执行(例如内存空间不足),则返回空指针(NULL)。

calloc函数:
函数原型为
void *calloc(unsigned n, unsigned size);
其作用是在内存的动态存储区中分配n个长度为size的连续空间。

函数返回一个指向分配域起始地址的指针;

如果分配不成功,返回NULL。

用calloc函数可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size。

free函数
函数原型为void free(void *p);

其作用是释放由p指向的内存区,使这部分内存区能被其他变量使用。

p是最近一次调用calloc或malloc函数时返回的值。

free函数无返回值。

posted on 2015-06-08 22:12  木屐  阅读(190)  评论(0编辑  收藏  举报

导航