Wenn str[]
statisch definiert ist (wie gezeigt), wird dies funktionieren:
Wenn es dynamisch erstellt wird, benötigen Sie eine Markierung , um das letzte Element zu signalisieren ( 0
wird normalerweise verwendet, wenn es sich um ein Array von Zeigern handelt). Entweder das oder der Aufrufer sagt Ihnen, wie viele Elemente es gibt (auch üblich).
Zusätzlich zu den Methoden, die bereits in anderen Antworten aufgeführt sind, kann dies auch durch Hinzufügen eines Schutzwerts am Ende des Arrays geschehen, z. B. durch eine leere Zeichenfolge. Sie können dann das Array durchlaufen, bis Sie den Schutzwert erreicht haben.
Ich persönlich würde wahrscheinlich C ++ 11 und
verwenden %Vor% Sie können also einfach la.size()
abfragen, um das zu bekommen, was Sie wollten ... zur Laufzeit sowieso. Leider sehe ich keinen Weg, diesen Trick mit std::array
zu benutzen, also ist es keine perfekte Alternative.
Normalerweise verwende ich eine separate Variable, um die Array-Größe zu verfolgen.
%Vor%Und wenn ich dann eine der Strings referenzieren muss, kann ich es einfach so nennen:
%Vor%Und jedes Mal, wenn ich das Array in einer Schleife aktualisiere, benutze ich einfach strNum als Index, um mit dem Schreiben neuer Strings zu beginnen, und setze dann ein strNum ++ innerhalb der Schleife unmittelbar nach jedem neuen String.
eine Möglichkeit, Zeiger zu verwenden, um die Elemente des Arrays zu zählen:
%Vor% Ausgabe:
5