【发布时间】:2010-12-09 23:33:27
【问题描述】:
鉴于这段使用 gcc 4.3.3 编译的 C 代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char * argv[])
{
int * i;
i = malloc(sizeof(int));
printf("%d\n", *i);
return 0;
}
我希望输出是 malloc() 返回的内存中的任何内容,但输出为 0。malloc 是否将它返回的内存清零?如果有,为什么?
【问题讨论】:
-
您所期望的就是这种情况。它输出 malloc() 返回的内存中的任何内容,恰好为零。