malloc之前的(int *)是什么意思?

时间:2012-01-26 06:29:15

标签: c memory-management

(int *)在以下代码中做了什么?

int *ptr = (int *) malloc(10 * sizeof (int));

我是C的新手,我已经看到上面的代码有和没有(int *)所以我想知道它做了什么。

1 个答案:

答案 0 :(得分:7)

这意味着“将void*指针强制转换为int*指针” - malloc()返回void*,并要求编译器将void*视为int*它是malloc()。围绕{{1}}的这个构造仅在C ++代码中需要,并且是totally unneeded and even evil in C,因为它可能导致相当微妙但毁灭性的错误。