以下代码片段的区别是什么?
int main()
{
int *p;
p= (int*)malloc(sizeof(int));
}
和
int main()
{
int *p = (int*)malloc(sizeof(int));
}
-
第一个代码片段分为两步,首先定义一个指针,然后,将有效的**值赋给指针。
-
第二个代码段声明了指针,并且通过在一个步骤中调用
malloc()
来初始化指针。
实际上,两个代码片段的最终结果是相同的。它更多的是关于使用哪一个的编码标准指南。
有一个建议,在使用第一种风格的情况下,考虑初始化指向NULL
的指针,以防止在赋值之前意外使用指针。也就是说,请参阅关于为什么不将malloc()
和family的返回值转换到C
..
**[注]:提供,malloc()
success.