C - 指针内存分配

标签 c pointers memory malloc allocation

<分区>

谁能给我解释一下

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

&&

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

谢谢!

最佳答案

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

因此在这种情况下不需要也不应该进行转换。检查here .

关于C - 指针内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33798608/

相关文章:

java - 如何使用 Getopt 在不带前导连字符的情况下解析参数

c 编程 for 循环输入字符

c - 打印出前八个自守数

caching - 如何清除docker容器内的缓存

c - 我不知道哪里出了问题,我的控制台窗口无法关闭

c++ - 删除后指针未设置为 nullptr

c - 指向结构变量的指针

c++ - 将指针设置为 null 会使我的 C++ 程序崩溃

c - 分配时为空*

iphone - (iPhone)当仪器显示 "all allocations"仅 7mb 时,我的应用程序收到内存警告?