c - 关于C malloc函数的问题

标签 c memory-management casting malloc

我们为什么要转换malloc ,如下所示?

ptd = (double *) malloc(max * sizeof(double));

什么是malloc的正常返回类型?为什么我们需要来转换它?

最佳答案

来自标准指南:

声明:

void *malloc(size_t size);

分配所请求的内存并返回指向它的指针。 请求的大小是 size 字节。 空间的值(value)是不确定的。 成功后,将返回指向所请求空间的指针。 失败时返回空指针。

这应该就是一切!

关于c - 关于C malloc函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25091635/

相关文章:

c - 以下代码中的 void * 是做什么的?

iphone - 制作 UIImage 的深拷贝

mongodb - 会发生什么,当 mongodb db size 是 times > then RAM 时会发生什么?

c - 具有枚举类型的多维数组并将它们转换为无符号字符数组

c - 为什么 float 在 C 中会四舍五入,但在 JavaScript 或 Python 中却不会?

c - 在这些情况下,pthread rwlock 的行为是什么?

c++ - 我的容器类中应该允许多少整数?

c - double和float的比较,以及隐式转换

C# 在发送前转换数组接口(interface)引用

c - 在 C 中的数据类型之前使用宏