<?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[Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen Pointer zu einer Speicheraddresse, sagen wir *MemoryPosition.</p>
<p>Nun möchte ich die Werte die dort nacheinander abgelegt sind auslesen. Dazu muss ich doch die Adressen um die Größe des entsprechenden Datentyps erhöhen. Nehmen wir an, dann an *MemoryPositions Daten mit zwei BYTE Länge abgelegt sind.</p>
<p>Kann mir bitte jemand sagen, wie ich den Speicherbereich durchschreiten kann oder in anderen Worten den Zeiger zu *MemoryPosition um zwei BYTE erhöhe um den nächsten Wert zu holen?</p>
<p>Vielen Dank,<br />
Frodo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/125546/wie-kann-man-die-speicherposition-in-einem-zeiger-um-ein-bzw-zwei-byte-erhöhen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 06:02:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/125546.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Nov 2005 14:48:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen on Mon, 07 Nov 2005 14:48:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen Pointer zu einer Speicheraddresse, sagen wir *MemoryPosition.</p>
<p>Nun möchte ich die Werte die dort nacheinander abgelegt sind auslesen. Dazu muss ich doch die Adressen um die Größe des entsprechenden Datentyps erhöhen. Nehmen wir an, dann an *MemoryPositions Daten mit zwei BYTE Länge abgelegt sind.</p>
<p>Kann mir bitte jemand sagen, wie ich den Speicherbereich durchschreiten kann oder in anderen Worten den Zeiger zu *MemoryPosition um zwei BYTE erhöhe um den nächsten Wert zu holen?</p>
<p>Vielen Dank,<br />
Frodo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/910631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910631</guid><dc:creator><![CDATA[Frodo33]]></dc:creator><pubDate>Mon, 07 Nov 2005 14:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen on Mon, 07 Nov 2005 15:04:43 GMT]]></title><description><![CDATA[<p>Stichwort Zeigerarithmetik</p>
]]></description><link>https://www.c-plusplus.net/forum/post/910634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910634</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Mon, 07 Nov 2005 15:04:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen on Mon, 07 Nov 2005 14:59:31 GMT]]></title><description><![CDATA[<p>ser1al schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Edit1-&gt;Text = IntToStr((test[0])+1);  //damit greifst auf test[1] zu
</code></pre>
</blockquote>
<p>Falsch, damit greifst du auf test[0] zu und addierst 1 zu dessen Inhalt (probier's mal aus, indem du andere Werte vorher einträgst).</p>
<p>@Frodo: Der Compiler weiß selber am besten, wie groß deine Daten sind - deshalb schiebt der Ausdruck &quot;++p;&quot; den Zeiger immer um die richtige Strecke weiter, egal ob p nun auf einen char, int oder my_special_class zeigt.<br />
(das klappt natürlich nur solange, wie du den Pointer nicht wild in andere Typen umcastest).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/910646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910646</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 07 Nov 2005 14:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen on Mon, 07 Nov 2005 15:05:55 GMT]]></title><description><![CDATA[<p>richtig, war ein kleiner fehler von mir!</p>
<p>das meinte ich eigentlich:</p>
<pre><code class="language-cpp">int array[7];
*array = 5;        //erstes element
*(array+1)=7;   //auf ein element weiter
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/910648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910648</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Mon, 07 Nov 2005 15:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen on Mon, 07 Nov 2005 15:24:31 GMT]]></title><description><![CDATA[<p>Naja, nicht ganz meine Problematik.</p>
<p>unsigned char *pDataBuffer; // Das ist die Definition von pDataBuffer</p>
<p>*pDataBuffer // Das ist der Zeiger zum Start eines<br />
// Addressbereiches</p>
<p>In diesem Bereich (ab *pDataBuffer) sind zwei-Byte lange Datenwerte angeordnet.<br />
Nun will ich diese nacheinander auslesen. Wie mache ich die zwei-Byte langen Schritte und wie geht die Zuweisung in Variablen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/910682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910682</guid><dc:creator><![CDATA[Frodo33]]></dc:creator><pubDate>Mon, 07 Nov 2005 15:24:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann man die Speicherposition in einem Zeiger um ein bzw. zwei BYTE erhöhen on Mon, 07 Nov 2005 15:38:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">data_t* typedbuffer=pDataBuffer;
for(int i=0;i&lt;iDataLength/sizeof(data_t);++i)
{
  data_t val=typedbuffer[i];
  //verarbeite val
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/910700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/910700</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 07 Nov 2005 15:38:21 GMT</pubDate></item></channel></rss>