0

I've stumbled on articles here and here, that says its good programming practice to never return NULL. But for functions that need to return something, what should it return? a value of -1 is not going to cut it since lets say we have function:

char *return_some_string(int input) {
    /* do something */

    if (error) 
        return some_thing_not_null; 
}

How do you get round this problem?

4

3 に答える 3

10

NULL を返さないことが良いプログラミング手法であると述べている記事を偶然見つけました。

その記事の品質を示す無条件の記述。それを燃やす。

しかし、何かを返す必要がある関数の場合、何を返すべきでしょうか?

NULL. 概念的には、それは「無効なポインター」、「何も指していないポインター」などです。それが言語にあるのには非常に正当な理由があります。

于 2013-05-18T21:16:41.383 に答える
3

C では、NULL を返すのは完全に正常です。

実際、mallc、C ライブラリは時々 NULL を返します...

あなたはポインターを持っています、それはNULLであっても問題ありません。

于 2013-05-18T21:17:15.403 に答える