malloc中使用类型转换有什么用?如果我不在malloc中编写类型转换,那么它将返回什么?(为什么malloc需要进行类型转换?)
wkl*_*wkl 12
我猜你的意思是这样的:
int *iptr = (int*)malloc(/* something */);
在C中,您不必(也不应该)从中转换返回指针malloc.它是a void *,在C中,它被隐式转换为另一种指针类型.
int *iptr = malloc(/* something */);
是首选形式.
这不适用于C++,它不共享相同的void *隐式转换行为.
你永远不应该malloc()在C中转换返回值.这样做是:
void *它与任何其他指针类型兼容(函数指针除外,但这里不适用).所以:没有任何好处,至少有三个缺点,因此应该避免.
| 归档时间: |
|
| 查看次数: |
4197 次 |
| 最近记录: |