11

ある記事を読みました (URL を忘れました)。それargv[argc]NULLポインター (を含む\0) であると述べています。私がこのコードを書いたのが本当かどうかを確認するために、はい、存在します。私が理解できないのは、なぜOSにこのNULLポインターが含まれているのargv[argc]ですか?それは何か他のものにも役立ちますか?

int
main (int argc, char **argv){

    while (*argv)
        printf ("%s\n", *argv++);

    return 0;
}
4

2 に答える 2

11

C標準の5.1.2.2.1/22番目のマークは明示的に言います

argv[argc] は null ポインターでなければなりません。

C++ 標準3.6.1/2も明示的に述べています

argv[argc] の値は 0 でなければなりません。

于 2013-05-07T12:26:04.653 に答える