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.


  • Mod

    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 🙂


Log in to reply