2010-12-16 14 views

Antwort

2

Blick auf der Manpage getopt_long():

int 
getopt_long(int argc, char * const *argv, const char *optstring, 
    const struct option *longopts, int *longindex); 

Das argc und argv Paar eine Art und Weise zeigen, zu sagen, wie viele Einträge es in einem Array (durch explizite Zählung ist, obwohl seit argv[argc] == 0, dort ist auch ein Wachposten). Die optstring zeigt kurze Argumente an; Der longindex ist ein Ausgabeparameter. Das lässt nur den Zeiger longopts zurück, was bedeutet, dass die Funktion in der Lage sein muss, zu sagen, wie viele Einträge im Array ohne unterstützende Anzahl sind (es gibt kein longoptcount Argument), so dass das Ende des Arrays von allen Werten Null markiert ist - ein Sentinel Wert.

3

Es ist ein 'Sentinel', so dass der Code, der das Array verarbeitet, weiß, wann es zu Ende ist.