Wenn ich eine Nummer an ein mit int initialisiertes Array anhängen möchte, wie kann ich das tun?
int arr[10] = {0, 5, 3, 64};
arr[] += 5; //Is this it?, it's not working for me...
Ich möchte am Ende {0,5, 3, 64, 5}.
Ich bin an Python gewöhnt, und in Python gibt es eine Funktion namens list.append, die ein Element automatisch an die Liste anfügt. Gibt es eine solche Funktion in C?
int arr[10] = {0, 5, 3, 64};
arr[4] = 5;
EDIT: Also wurde ich gebeten zu erklären, was passiert, wenn Sie dies tun:
int arr[10] = {0, 5, 3, 64};
sie erstellen ein Array mit 10 Elementen und weisen den ersten 4 Elementen des Arrays Werte zu.
Beachten Sie auch, dass arr
beim Index arr[0]
beginnt und bei Index arr[9]
- 10 Elementen endet
arr[0] has value 0;
arr[1] has value 5;
arr[2] has value 3;
arr[3] has value 64;
danach enthält das Array Müllwerte/Nullen, da Sie keine anderen Werte zugewiesen haben
Sie könnten aber trotzdem noch 6 weitere Werte zuweisen
arr[4] = 5;
sie weisen dem fünften Element des Arrays den Wert 5 zu.
Sie können dies tun, bis Sie dem letzten Index der arr
, die arr[9]
ist, Werte zuweisen.
Tut mir leid, wenn meine Erklärung abgehackt ist, aber ich war nie gut darin, Dinge zu erklären.
Sie können einen Zähler (freePosition) haben, der den nächsten freien Platz in einem Array der Größe n verfolgt.
Es gibt nur zwei Möglichkeiten, einen Wert in ein Array einzufügen, und der eine ist nur syntaktischer Zucker für den anderen:
a[i] = v;
*(a+i) = v;
Um etwas als viertes Element zu setzen, haben Sie keine andere Wahl als arr[4] = 5
. Es sollte jedoch in Ihrem Code fehlschlagen, da das Array nur 4 Elementen zugeordnet ist.
Wenn Sie über einen Code wie int arr[10] = {0, 5, 3, 64};
verfügen und einen Wert zum nächsten Index hinzufügen oder hinzufügen möchten, können Sie ihn einfach durch Eingabe von a[5] = 5
hinzufügen.
Der Hauptvorteil dieser Vorgehensweise besteht darin, dass Sie einen Wert hinzufügen oder an einen beliebigen Index anhängen können, der nicht fortgeführt werden muss. Wenn Sie beispielsweise den Wert 8
an Index 9 anhängen möchten, kann ich dies durch das obige Konzept vor tun Auffüllen vor Indizes . Aber in Python mit list.append()
können Sie dies durch fortgesetzte Indizes tun.