Werden char * argv [] -Argumente in main null beendet?

Ich frage mich also, ob Befehlszeilenparameter immer mit Null abgeschlossen sind. Google scheint ja zu sagen, und das Kompilieren auf GCC zeigt an, dass dies der Fall ist. Kann ich jedoch garantieren, dass dies immer wahr ist?

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

    for(int cnt=1; cnt < argc; ++cnt)
    {
        p = argv[cnt];
        printf("%d = [%s]\n", cnt, p);
    }
    return 0;
}

$ MyProgram -arg1 -arg2 -arg3
1 = -arg1
2 = -arg2
3 = -arg3

Antworten auf die Frage(2)

Ihre Antwort auf die Frage