在文章嵌入式Linux开发《C语言专题(五:(3)实用的内存函数4)》、嵌入式Linux开发《C语言专题(五:(3)实用的内存函数5)》和嵌入式Linux开发《C语言专题(五:(3)实用的内存函数6)》中对C语言中内存操作函数malloc&free做了详细介绍。这篇文章主要讲剩余的calloc&realloc以及简要总结内存函数之间的区别和联系。
(1)calloc:申请内存
函数名:calloc
函数原型:void *calloc(size_t nmemb, size_t size);
函数参数:nmemb:内存块的个数
size:以字节为单位申请的每个内存块的大小
头文件: #include
功能:动态申请内存并且内存被初始化为0
返回值:成功返回执行分配内存的地址 失败返回NULL
说明:calloc的任意一个参数为0也可能返回NULL或者是一个独特的指针,这个指针随后传递给free。实际开发中这样操作是无意义的,
代码演示:
#include //一定要加上操作头文件#include //申请4个#define NUMBER 4//演示使用calloc申请内存int main(int argc, char** argv){int i = 0;int *p = NULL;//第一步:申请内存空间p = (int *)calloc(NUMBER, sizeof(int));//第二步:检查返回值if(NULL == p){printf("申请内存空间出错");//如果出错,退出整个进程exit(-1); }printf("赋值之前:");for(i=0; i