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