可能重复:
Do I cast the result of malloc?是有必要类型转换malloc和释放calloc
我google搜索,找出的malloc和释放calloc的类型转换的原因。但是,我只发现的类型铸造malloc没有必要,因为它返回void指针但是,calloc。这与calloc也是一样的原因?
现在,如果我们搬回到第一点,关于的malloc和释放calloc的返回值。然后,我发现,都返回分配空间。所以,我在这里有点困惑。所以,我的问题是
什么是的malloc和释放calloc
的返回值是有必要类型转换的malloc和释放calloc。为什么?
@hmjd可能是......但我在这里同时要求'malloc'和'calloc'。 – Ravi
是的,这是重复的,但是编译器在要求您将void指针转换为任何其他类型时会变得更加狡猾 - 这是针对void指针的原始目的飞行的,这是一种通用类型,可以是施放并分配给任何东西。这是更“C”的进步。 – user2548100