<分区>
malloc中typecast有什么用?如果我不在 malloc 中编写类型转换,那么它会返回什么? (为什么malloc需要类型转换?)
<分区>
malloc中typecast有什么用?如果我不在 malloc 中编写类型转换,那么它会返回什么? (为什么malloc需要类型转换?)
最佳答案
我假设你的意思是这样的:
int *iptr = (int*)malloc(/* something */);
并且在 C 中,您不必(也不应该)强制转换 malloc
的返回指针。它是一个 void *
,在 C 中,它被隐式转换为另一种指针类型。
int *iptr = malloc(/* something */);
是首选形式。
这不适用于 C++,它不共享相同的 void *
隐式转换行为。
关于c - malloc 中是否需要类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4993327/