最近看程序,总是看到calloc, 基本没有看到malloc. malloc函数和calloc函数除了原型有点不一样之外,还有个微不足道的小小区别,看程序:
#include<stdio.h>
#include<stdlib.h> // 为了malloc 和 calloc
int main()
{
unsigned n = 1;
unsigned size = sizeof(int);
int *p = (int *)malloc(size);
printf("%d\n", *p);
delete p;
p = NULL;
p = (int *)calloc(n, size);
printf("%d\n", *p);
delete p;
p = NULL;
return 0;
}
结果为:
-842150451
0