webentwicklung-frage-antwort-db.com.de

Kann jemand erklären, wie man ein Element in der C-Programmierung an ein Array anfügt?

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?

11
user3326078
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.

11
bitcell

Sie können einen Zähler (freePosition) haben, der den nächsten freien Platz in einem Array der Größe n verfolgt. 

2
Arjun Prasad

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] = 5Es sollte jedoch in Ihrem Code fehlschlagen, da das Array nur 4 Elementen zugeordnet ist.

0
Amadan

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.

0
Vignesh kanna