<?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[Structs übergeben]]></title><description><![CDATA[<p>Hallo miteinander!<br />
Ich steh gerade aufm Schlauch und hoffe jemand kann mir dabei helfen.<br />
In meinem Programm gibt es ein Struct (via Typedef) Neighbour mit verschiedenen Feldern.<br />
Anschließend habe ich ein Feld myNeighbours[] mit der Länge definiert, das aus Feldern Neighbour besteht:<br />
typedef struct{<br />
..<br />
..<br />
..<br />
} Neighbour;<br />
Neighbour myNeighbours[];</p>
<p>Ich möchte in eine Funktion dieses Feld, das vorher schon beschrieben worden ist, in eine andere übergeben, diese soll ein Update durchführen und das Ding wieder zurückgeben.</p>
<p>Die Form hierfür ist</p>
<p>return_type function_name(list of parameters);</p>
<p>Wie realisiere ich sowas?<br />
Hüüüllllfffffffäääääääääää</p>
<p>Danke</p>
<p>Andi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140534/structs-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 08:55:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140534.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Mar 2006 14:55:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Structs übergeben on Wed, 15 Mar 2006 14:55:23 GMT]]></title><description><![CDATA[<p>Hallo miteinander!<br />
Ich steh gerade aufm Schlauch und hoffe jemand kann mir dabei helfen.<br />
In meinem Programm gibt es ein Struct (via Typedef) Neighbour mit verschiedenen Feldern.<br />
Anschließend habe ich ein Feld myNeighbours[] mit der Länge definiert, das aus Feldern Neighbour besteht:<br />
typedef struct{<br />
..<br />
..<br />
..<br />
} Neighbour;<br />
Neighbour myNeighbours[];</p>
<p>Ich möchte in eine Funktion dieses Feld, das vorher schon beschrieben worden ist, in eine andere übergeben, diese soll ein Update durchführen und das Ding wieder zurückgeben.</p>
<p>Die Form hierfür ist</p>
<p>return_type function_name(list of parameters);</p>
<p>Wie realisiere ich sowas?<br />
Hüüüllllfffffffäääääääääää</p>
<p>Danke</p>
<p>Andi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016825</guid><dc:creator><![CDATA[Totem]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to Structs übergeben on Wed, 15 Mar 2006 14:59:58 GMT]]></title><description><![CDATA[<p>a) Du kannst eine einzelne struct übergeben:</p>
<pre><code class="language-cpp">Neighbour update(Neighbour data)
{
  data.name = ...;
  ...
  return data;
}

...
for(int i=0;i&lt;nb_count;++i)
  myNeighbours[i]=update(myNeighbours[i]);
</code></pre>
<p>Alternativ kannst du auch eine Referenz auf den zu ändernden Datensatz oder einen Pointer auf das komplette Feld übergeben und die Daten direkt vor Ort ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016831</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:59:58 GMT</pubDate></item><item><title><![CDATA[Reply to Structs übergeben on Wed, 15 Mar 2006 15:19:22 GMT]]></title><description><![CDATA[<p>Danke schonmal für die Hilfe.<br />
Mein Problem ist aber folgendes:<br />
Ich implementiere einen ApplicationLayer.<br />
Innerhalb dieses wird auf jede ankommende Nachricht separat ein Update der Nachbarn durchgeführt.<br />
Dafür wird das Feld zuerst durchsucht ob der Eintrag schon vorhanden ist, wenn nicht, dann neu angelegt.<br />
Das bedeutet, ich brauche das gesamte Struct in meiner Funktion.<br />
Ein Feld allein reicht nicht.</p>
<p>Kannst du mir die Vorschrift für das Deklarieren der Referenz zeigen?<br />
Bin kein Pro in C++..... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016856</guid><dc:creator><![CDATA[Totem]]></dc:creator><pubDate>Wed, 15 Mar 2006 15:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to Structs übergeben on Thu, 16 Mar 2006 07:22:54 GMT]]></title><description><![CDATA[<p>was meinst du mit gesamtes Struct!</p>
<pre><code class="language-cpp">Neighbour update(Neighbour data)
{
  data.name = ...;
  ...
  return data;
}
</code></pre>
<p>hier hast du ja ein gesamtes struct drin!</p>
<p>einer referenz übergibst du mit einem &amp; (da veränderst du aber direkt, und gibst kein nachbarn zurück)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017247</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Thu, 16 Mar 2006 07:22:54 GMT</pubDate></item><item><title><![CDATA[Reply to Structs übergeben on Thu, 16 Mar 2006 07:25:57 GMT]]></title><description><![CDATA[<p>OK, Übergabe per Referenz (ebenfalls Einzelobjekt):</p>
<pre><code class="language-cpp">void update(Neighbour&amp; nb)
{
  nb.name=...;
  ...
}

...
for(int i=0;i&lt;nb_count;++i)
  update(myNeighbours[i]);
</code></pre>
<p>Und Übergabe per Pointer (komplettes Array):</p>
<pre><code class="language-cpp">int search(Neighbour* data,size_t dlen,const Neighbour&amp; val)
{
  for(int i=0;i&lt;dlen;++i)
    if(data[i]==val) return i;//gefunden
  return -1;                  //nicht gefunden
}

...
Neighbour myNeighbours[nb_count],gast;
int pos=search(myNeighbours,nb_count,gast)
if(pos&gt;=0)
  cout&lt;&lt;&quot;Nachbar &quot;&lt;&lt;pos&lt;&lt;&quot; gefunden\n&quot;;
else
  cout&lt;&lt;&quot;nicht vorhanden\n&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1017249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017249</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 16 Mar 2006 07:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Structs übergeben on Thu, 16 Mar 2006 10:40:40 GMT]]></title><description><![CDATA[<p>ok, ich werds ausprobieren!!!<br />
Vielen Dank!!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017390</guid><dc:creator><![CDATA[Totem]]></dc:creator><pubDate>Thu, 16 Mar 2006 10:40:40 GMT</pubDate></item></channel></rss>