<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich empfange Daten, genauergesagt Kommandos via TCP/IP. Diese Kommandos möchte ich nun in eine verkettete Liste packen, damit sie der Hauptteil des Programms abarbeiten kann. Jetzt habe ich das Problem dass zum empfangen der Kommandos und speichern in der Liste immer der gleiche Programmteil aufgerufen wird, wie sag ich in diesem Teil also dass er immer einen _neues_ Element zur Liste hinzufügt? Wenn ich einfach sage</p>
<p><em>Pseudo-code:</em></p>
<pre><code>warte auf Daten

Wenn Daten kommen speichere sie in Variable (bzw. Listenknoten)

Hänge Knoten an Liste an
</code></pre>
<p>wird er ja bei jedem aufruf dieses Programmteils die Daten immer in die selbe Variable speichern, also den Knoten überschreiben. Wie schaff ich es dass er immer einen neuen Knoten hinzufügt?</p>
<p>MfG,<br />
Luke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179030/verkettete-listen-in-gleichem-programmteil-immer-neue-elemente-hinzufügen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 22:04:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179030.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Apr 2007 19:59:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Tue, 17 Apr 2007 19:59:47 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich empfange Daten, genauergesagt Kommandos via TCP/IP. Diese Kommandos möchte ich nun in eine verkettete Liste packen, damit sie der Hauptteil des Programms abarbeiten kann. Jetzt habe ich das Problem dass zum empfangen der Kommandos und speichern in der Liste immer der gleiche Programmteil aufgerufen wird, wie sag ich in diesem Teil also dass er immer einen _neues_ Element zur Liste hinzufügt? Wenn ich einfach sage</p>
<p><em>Pseudo-code:</em></p>
<pre><code>warte auf Daten

Wenn Daten kommen speichere sie in Variable (bzw. Listenknoten)

Hänge Knoten an Liste an
</code></pre>
<p>wird er ja bei jedem aufruf dieses Programmteils die Daten immer in die selbe Variable speichern, also den Knoten überschreiben. Wie schaff ich es dass er immer einen neuen Knoten hinzufügt?</p>
<p>MfG,<br />
Luke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267991</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Tue, 17 Apr 2007 19:59:47 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Tue, 17 Apr 2007 20:56:18 GMT]]></title><description><![CDATA[<p>Schreib Code, der einen neuen Knoten hinzufügt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Was bezweckst du mit dieser Frage?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268016</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 17 Apr 2007 20:56:18 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Tue, 17 Apr 2007 21:24:43 GMT]]></title><description><![CDATA[<p>Ich hab folgendes Problem: Ich schreibe gerade einen kleinen Server der Kommandos von einem Client über TCP/IP empfängt. Immer wenn er ein Kommando empfängt soll er dieses an das Ende einer verketteten Liste packen:</p>
<p>(Achtung, Pseudo-code):</p>
<pre><code>listenKnoten neuerKnoten;

for(;;)
{
	recv(socket, command, command_länge, 0)  // Auf Kommando warten, empfangen, und in variable 'command' speichern

	neuerKnoten.command = command;
	neuerKnoten.nächsterKnoten = letzterKnotenInDerListe;
}
</code></pre>
<p>So würde das natürlich nicht gehen da er ja immer wieder den selben Knoten bearbeiten würde. So</p>
<p>(Achtung, wieder unvollständiger, pseudo-beispiel-code):</p>
<pre><code>void anListeAnhängen(char command) {
	listenKnoten neuerKnoten;

	neuerKnoten.command = command;
	neuerKnoten.nächsterKnoten = letzterKnotenInDerListe;
}

for(;;)
{
	recv(socket, command, command_länge, 0)  // Auf Kommando warten, empfangen, und in variable 'command' speichern

	anListeAnhängen(command);
}
</code></pre>
<p>Hätte das Problem dass neuerKnoten jedes mal nach beenden der Funktion verfallen würde (oder?). Und weiter bin ich einfach noch nicht. Häng da denktechnisch.<br />
Wie mach ich es, dass ich obwohl ich immer den gleichen Code aufrufe (nämlich zum/beim empfangen eines Commands), jedes mal einen neuen Knoten erstelle (nicht immer den gleichen bearbeite).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268030</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Tue, 17 Apr 2007 21:24:43 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 10:14:07 GMT]]></title><description><![CDATA[<p>Ich glaub, du hast da was grundlegendes nicht verstanden.</p>
<pre><code class="language-cpp">list&lt;string&gt; commands;
for(;;)
{
    string command;
    recv irgendwas, dass nachher was in command steht
    commands.push_back(command);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1268256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268256</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Wed, 18 Apr 2007 10:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 12:08:05 GMT]]></title><description><![CDATA[<p>Willst du mir damit sagen dass Listen in C++ schon inplementiert sind? Etwa auch in C (nicht++)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268378</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Wed, 18 Apr 2007 12:08:05 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 12:22:13 GMT]]></title><description><![CDATA[<p>Ja Listen sind in C++, allerdings nicht in C bereits implementiert....</p>
<p>Kannst mal nach &quot;STL list&quot; suchen, da findest Du jede Menge Informationen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268396</guid><dc:creator><![CDATA[Paddy82]]></dc:creator><pubDate>Wed, 18 Apr 2007 12:22:13 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 14:41:37 GMT]]></title><description><![CDATA[<p>Ja, gut. C++ ist super aber ich kann es nicht nutzen da ich in meiner Entwicklungsumgebung (ich programmiere für die PSP) nichts C++iges kompiliert bekommen habe und ich mich jetzt auch nicht darum kümmern will. Hat denn niemand eine Idee wie man das in normalem C machen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268542</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Wed, 18 Apr 2007 14:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 14:55:20 GMT]]></title><description><![CDATA[<p>Da wird dir nichts anderes übrig bleiben, als die Listen von Hand zu schreiben.<br />
Es gibt zwar hier und da fertige Listen, die durch Präprozessoranweisungen realisiert sind, aber davon würde ich die Finger lassen....</p>
<p>Such mal im Netz nach einfach verkettete Liste, bzw. doppelt verkettete Liste, da wirst Du schon ein Tutorial finden.</p>
<p>Gruß Paddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268559</guid><dc:creator><![CDATA[Paddy82]]></dc:creator><pubDate>Wed, 18 Apr 2007 14:55:20 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 15:00:10 GMT]]></title><description><![CDATA[<p>Ne verkettete Liste schreiben wird nicht das Problem sein. Das Problem ist das, was ich im ersten und 3ten Post geschrieben hab</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268563</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Wed, 18 Apr 2007 15:00:10 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 18:08:45 GMT]]></title><description><![CDATA[<p>malloc <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268702</guid><dc:creator><![CDATA[hmmmm??]]></dc:creator><pubDate>Wed, 18 Apr 2007 18:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Wed, 18 Apr 2007 18:35:48 GMT]]></title><description><![CDATA[<p>Heißt das mit malloc im stile von</p>
<pre><code class="language-cpp">listItem* newListItem;
listItem* lastItemInTheList = 0;
listItem* listStart = 0;

for(;;)
{
    recv(socket, command, command_length, 0)  // Wait for a command, recieve it, and save it in 'command'

    newListItem = malloc(sizeof(listItem));
    newListItem-&gt;command = command;
    newListItem-&gt;nextListItem = 0;
    if (lastItemInTheList!=0)
       lastItemInTheList-&gt;nextListItem = newListItem;
    else
       listStart = newListItem;
    lastItemInTheList = newListItem;
}
</code></pre>
<p>würde er immer neuen Speicher reservieren und nicht immer an die selbe stelle schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268726</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Wed, 18 Apr 2007 18:35:48 GMT</pubDate></item><item><title><![CDATA[Reply to Verkettete Listen - In gleichem Programmteil immer neue Elemente hinzufügen on Fri, 20 Apr 2007 07:58:48 GMT]]></title><description><![CDATA[<p>Folge doch dem Ratschlag, Dir ein entsprechendes Tutorial anzusehen.</p>
<p>Vielleicht reicht Dir auch der Hinweis, dass man einen Root-Node hat, von dem ausgehend alle Operationen durchgeführt werden, dann kannst Du Dir die Hilfszeiger sparen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269784</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 20 Apr 2007 07:58:48 GMT</pubDate></item></channel></rss>