länge eines arrays von zeichenketten bestimmen
-
Hallo,
habe mich vor kurzem gefragt wie man die größe/länge eines arrays von zeichenketten (char**) bestimmt/berechnet.z.B. bei
int main(int argc, char** argv)
gibt es eine Möglichkeit die Anzahl der Elemente in argv herauszufinden ohne den Wert von argc abzufragen?
-
Nein.
Wenn du selber sowas machen willst, setze den letzten Zeiger auf NULL.
-
Nein, das ist nicht möglich. Darum wird dir ja auch die Anzahl mit übergeben.
-
So wie man die Größe jedes anderen Arrays bestimmt: Im Allgemeinen geht es nicht. Manchmal gibt es bestimmte Konventionen, zb könnte bei einem char** der letzte Eintrag ein Nullpointer sein, aber das ist natürlich kein Muss.
-
In diesem speziellen Fall garantiert der Standard, dass argv[argc] == NULL. Es ist aber natürlich auch möglich, Zeigerarrays zu bauen, bei denen das nicht der Fall ist.
-
hm ja stimmt, vielen dank, habe gradeben in der Referenz (zu der hostent-struktur) gelesen, dass der letzte Eintrag im array (das mich interessiert hat) den wert NULL hat.
danke für die antworten