在C编程中使用malloc

时间:2016-11-02 08:14:41

标签: c pointers syntax malloc

以下代码片段有什么区别?

int main()
{
 int *p;
 p= (int*)malloc(sizeof(int));
}

int main()
{ 
 int *p = (int*)malloc(sizeof(int));
}

1 个答案:

答案 0 :(得分:4)

  • 第一个代码段是两步,定义一个指针,然后assigning一个有效的 ** 值到指针。

  • 第二个代码段通过一次调用malloc()来声明和initializes指针。

实际上,两个片段的最终结果都是相同的。它更多的是编码标准指南,供人们使用。

但有一个建议,如果使用第一种样式,请考虑初始化指向NULL的指针,以防止在赋值之前意外使用指针

那就是please see this discussion on why not to cast the return value of malloc() and family in C.

** [注意]:提供,malloc()成功。