C – 指针内存分配

有人可以向我解释之间的区别

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

&&

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

谢谢!

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

因此,不需要在这种情况下进行铸造,也不应该进行铸造。 点击这里