软件网站建设专业百度开户公司
calloc——动态内存分配
头文件: # include<stdlib.h>
void * ( 要开辟的内存空间大小, 每个内存空间要申请的字节数 )
void * ( size_t num, size_t size )
注意:
- 函数的功能是为num个大小为size的元素开辟一块空间,并且把空间的每个字节初始化为0。
- 与函数malloc的区别只在于 calloc 会在返回地址之前把申请的空间的每个字节初始化为全0。
#include <stdio.h>
#include<stdlib.h>
#include<errno.h>int main()
{//申请40个字节,存放10个整型int* p = (int*)calloc(10,sizeof(int));if (p == NULL){printf("%s", strerror(errno));return 1;}//打印int i = 0;for (i = 0;i < 10;i++){printf("%d ", *(p + i));}//free释放申请的内存free(p);p = NULL;return 0;
}
输出:
0 0 0 0 0 0 0 0 0 0