C - 指针内存分配

时间:2015-11-19 08:26:04

标签: c pointers memory malloc allocation

有人可以向我解释

之间的区别
int *x = malloc(sizeof(int));

&安培;&安培;

int *x = (int*)malloc(sizeof(int));

谢谢!

1 个答案:

答案 0 :(得分:2)

不同之处在于您在第二个示例中转换malloc()的返回值。 malloc()返回一个void*指针,在这种情况下会自动安全地提升为任何其他指针类型。

因此,不需要在这种情况下进行铸造,也不应该进行铸造。检查here