最近看程序,总是看到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


本文转载:CSDN博客