返回值NULL和零之间的差异

时间:2013-11-04 08:29:19

标签: c

C中return NULLreturn 0之间有什么区别?

是的,我知道0是一个数字,而NULL是一个空白。但我不理解编程背景下两者的目的。

另外我相信return 0不会将数字0返回给调用函数,但会返回void。那么,如果语句return NULLreturn 0互换,会有什么不同?

1 个答案:

答案 0 :(得分:0)

在C

#define NULL  ((void*) 0)

这意味着NULL的类型为void*(没有类型的指针)。它的值是0.

为指针变量赋值零或NULL没有区别。 NULL可能更具可读性。

请参阅:http://c-faq.com/null/macro.html

当你返回零时,你真的返回零。如果函数签名具有指定为返回值的void,则表示该函数未返回值。在其他一些语言中,这被称为“程序”。