C中return NULL
和return 0
之间有什么区别?
是的,我知道0
是一个数字,而NULL
是一个空白。但我不理解编程背景下两者的目的。
另外我相信return 0
不会将数字0
返回给调用函数,但会返回void
。那么,如果语句return NULL
和return 0
互换,会有什么不同?
答案 0 :(得分:0)
在C
#define NULL ((void*) 0)
这意味着NULL
的类型为void*
(没有类型的指针)。它的值是0.
为指针变量赋值零或NULL
没有区别。 NULL
可能更具可读性。
请参阅:http://c-faq.com/null/macro.html
当你返回零时,你真的返回零。如果函数签名具有指定为返回值的void,则表示该函数未返回值。在其他一些语言中,这被称为“程序”。