Kann mir jemand erklären, wie append ein element an ein array in C Programmieren?
Wenn ich möchte anfügen einer Zahl in ein array initialisiert, int, wie kann ich das tun?
int arr[10] = {0, 5, 3, 64};
arr[] += 5; //Is this it?, it's not working for me...
Ich will {0,5, 3, 64, 5} am Ende.
Bin ich auf Python, und Python gibt es eine Funktion namens Liste.append fügt ein element in der Liste automatisch für Sie. Bringt eine solche Funktion existiert in C?
- array-Größe muss initialisiert werden, enthalten dieses zusätzliche element
- wenn Sie genug Speicher haben, können Sie anfügen, wie dies
arr[4] = 5
einfach - Eine Liste und ein array sehr unterschiedliche Arten von Behältern. Ein array ist ein zusammenhängender block im Speicher und wenn Sie möchten, um ein element anzuhängen, müssen Sie schreiben Sie es auf die position nach der letzten besetzten position, vorausgesetzt das array ist groß genug.
- Beabsichtigen Sie, um ein array zu verwenden, die wächst, wenn Sie Anhängen zusätzliche Elemente? In C++ haben, könnten Sie
std::vector
aber C nicht bieten so etwas. Sie müssten manuell zusätzlichen Speicher zuweisen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT:
So wurde ich gebeten, zu erklären, was passiert, wenn Sie tun:
erstellen Sie ein array mit 10 Elementen und vergeben Sie Werte für die ersten 4 Elemente des Arrays.
Beachten Sie auch, dass
arr
beginnt bei indexarr[0]
und endet bei indexarr[9]
- 10 Elementedanach enthält das array Müll Werte /Nullen, weil Sie nicht zugewiesen, andere Werte
Aber Sie könnte noch weisen 6 weitere Werte, so dass, wenn Sie tun
ordnen Sie den Wert 5 zu das fünfte element des Arrays.
Könnten Sie tun dies, bis Sie ordnen-Werte für den letzten index der
arr
istarr[9]
;Sorry, wenn meine Erklärung ist abgehackt, aber ich war noch nie gut im erklären Dinge.
Können Sie einen Zähler (freePosition), die Spur der nächste freie Platz in einem array der Größe n ist.
Gibt es nur zwei Möglichkeiten, um einen Wert in ein array, und man ist nur syntaktischer Zucker für die anderen:
So etwas zu setzen, als 4. element, Sie haben keine Wahl aber
arr[4] = 5
.Allerdings sollte es nicht in deinem code, da das array wird nur vergeben, für 4 Elemente.int arr[10]
bietet viel Platz.arr[3]
Nein?Wenn Sie einen code wie
int arr[10] = {0, 5, 3, 64};
, und Sie Anhängen möchten, oder fügen Sie einen Wert, um den nächsten index, können Sie einfach fügen Sie es durch Eingabea[5] = 5
.Die wichtigsten Vorteile, es zu tun, wie diese ist, können Sie hinzufügen, oder fügen Sie einen Wert zu einem beliebigen index nicht erforderlich zu sein, setzte man, wie ich, wenn ich wollen, hängen Sie den Wert
8
zu index 9, ich kann es tun, indem Sie das obige Konzept vor der Befüllung bis vor Indizes.Aber in python mithilfe von
list.append()
Sie tun können, es durch fortgesetzte Indizes.