C语言calloc函数的特点,效率低。但是进行初始化操作
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<stdio.h>
int main()
{
int *p = (int *)calloc(10,sizeof(int)); //初始化,效率低,然而malloc函数相反,不初始化,效率高
if (p == NULL)
{
//dayin错误原因的一个方式
printf("%s\n", strerror(errno));
}
else
{
int i = 0;
for (i = 0; i < 10; i++)
{
*(p + i) = i;
}
for (i = 0; i < 10; i++)
{
printf("%d ", *(p + i));
}
}
free(p);
p = NULL;
return 0;
}
//#include<stdlib.h>
//#include<string.h>
//#include<errno.h>
//#include<stdio.h>
//
//int main()
//{
// int *p = (int *)malloc(10 * sizeof(int));
// if (p == NULL)
// {
// //dayin错误原因的一个方式
// printf("%s\n", strerror(errno));
// }
// else
// {
// int i = 0;
// for (i = 0; i < 10; i++)
// {
// *(p + i) = i;
// }
// for (i = 0; i < 10; i++)
// {
// printf("%d ", *(p + i));
// }
// }
// return 0;
//} //这段代码的目的在于开辟动态内存并且同时向开辟的动态内存中存放十个整数,接着把它们打印出来