<?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[Pointer und Arrays]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe in einer Klasse ein Feld im Header mit</p>
<pre><code class="language-cpp">public:
	double *dDrehzahl_ALT;
</code></pre>
<p>deklariert und im Konstruktor</p>
<pre><code class="language-cpp">dDrehzahl_ALT=new double [lRechnenPunkt+1];
</code></pre>
<p>dann den Speicherplatz reserviert. In einer Funktion dieser Klasse werden nun Daten in einer Schleife ins Array geschrieben:</p>
<pre><code class="language-cpp">for(int i=0;i&lt;=lFeldlange;i++)
			{
				dDrehzahl_ALT[i]=alt.Drehzahllesen(i);
                                ...
                                ...
                        }
</code></pre>
<p>Nun meine Problem: in einer anderen Klasse muss ich über einen Pointer auf die Daten des Arrays zugreifen. Im Moment habe ich den Ansatz:</p>
<pre><code class="language-cpp">DOUBLE* CInterfaceExcel::GetDrehzahl_ALT(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: Fügen Sie hier Ihren Dispatchhandlercode ein.

	//m_dDrehzahl_ALT=+um.dDrehzahl_ALT;
	return um.dDrehzahl_ALT;

}
</code></pre>
<p>Ich kriege es irgendwie nicht auf die Kette, das komplette Feld zurückzugeben. Es wird nur der erste Wert des Feldes zurückgegeben.<br />
Ist wahrscheinlich banal, aber ich habe da eine Denkblockade zur Zeit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> .<br />
Kann mir jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/143178/pointer-und-arrays</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 04:03:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143178.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Apr 2006 06:54:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 06:54:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe in einer Klasse ein Feld im Header mit</p>
<pre><code class="language-cpp">public:
	double *dDrehzahl_ALT;
</code></pre>
<p>deklariert und im Konstruktor</p>
<pre><code class="language-cpp">dDrehzahl_ALT=new double [lRechnenPunkt+1];
</code></pre>
<p>dann den Speicherplatz reserviert. In einer Funktion dieser Klasse werden nun Daten in einer Schleife ins Array geschrieben:</p>
<pre><code class="language-cpp">for(int i=0;i&lt;=lFeldlange;i++)
			{
				dDrehzahl_ALT[i]=alt.Drehzahllesen(i);
                                ...
                                ...
                        }
</code></pre>
<p>Nun meine Problem: in einer anderen Klasse muss ich über einen Pointer auf die Daten des Arrays zugreifen. Im Moment habe ich den Ansatz:</p>
<pre><code class="language-cpp">DOUBLE* CInterfaceExcel::GetDrehzahl_ALT(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	// TODO: Fügen Sie hier Ihren Dispatchhandlercode ein.

	//m_dDrehzahl_ALT=+um.dDrehzahl_ALT;
	return um.dDrehzahl_ALT;

}
</code></pre>
<p>Ich kriege es irgendwie nicht auf die Kette, das komplette Feld zurückzugeben. Es wird nur der erste Wert des Feldes zurückgegeben.<br />
Ist wahrscheinlich banal, aber ich habe da eine Denkblockade zur Zeit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> .<br />
Kann mir jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031563</guid><dc:creator><![CDATA[KurtWagner76]]></dc:creator><pubDate>Thu, 06 Apr 2006 06:54:32 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 07:00:58 GMT]]></title><description><![CDATA[<p>Du brauchst auch nur die Adresse des Anfangs (und die Länge), um per Index auf alle Feldelemente zugreifen zu können:</p>
<pre><code class="language-cpp">double* values = idata.GetDrehzahl_ALT();
int len = idata.GetFeldLaenge_ALT();//diese Methode gibt lRechenpunkt+1 zurück
for(int i=0;i&lt;len;++i)
  cout&lt;&lt;values[i]&lt;&lt;' ';
</code></pre>
<p>(gab's nicht gestern ein ähnliches Problem mit char's?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031569</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 06 Apr 2006 07:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 07:20:18 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> .<br />
Eine Frage zu dieser: als was ist</p>
<pre><code class="language-cpp">idata
</code></pre>
<p>deklariert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031585</guid><dc:creator><![CDATA[KurtWagner76]]></dc:creator><pubDate>Thu, 06 Apr 2006 07:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 07:26:24 GMT]]></title><description><![CDATA[<p>dreimal darfst du raten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Lösung:</p>
<pre><code class="language-cpp">CInterfaceExcel idata
</code></pre>
<p>(oder eine abgeleitete Klasse - das ist das Objekt, von dem du dein Array anfordern willst)</p>
<p>PS: Ich schiebe dich mal eben ins C++-Board, da dürftest du besser aufgehoben sein mit der Frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031589</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 06 Apr 2006 07:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 07:26:37 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=18038" rel="nofollow">CStoll</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=1" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031590</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 06 Apr 2006 07:26:37 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 07:50:13 GMT]]></title><description><![CDATA[<p>Danke schön.<br />
Gebe ich aber so nicht einfache double Werte zurück? Eigentlich wollte ich den double* Pointer mit den Werten zurück geben. Geht das überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031605</guid><dc:creator><![CDATA[KurtWagner76]]></dc:creator><pubDate>Thu, 06 Apr 2006 07:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Thu, 06 Apr 2006 07:58:29 GMT]]></title><description><![CDATA[<p>Ja, du gibst einen Pointer auf das double-Array zurück - wo genau ist jetzt dein Problem?</p>
<pre><code class="language-cpp">class test
{
public:
  test(size_t s=10) : data(new double[s]), size(s) {}
  ~test() {delete[]data;}

  //liefert einen Zeiger auf das erste Element deines Datenblocks
  double* getData() {return data;}
  size_t getSize() {return size;}
private:
  double* data;
  size_t size;
};

...
test t;
double* vals = t.getData();
size_t num = t.getSize();
for(int i=0;i&lt;num;++i)
  vals[i]=(double)rand()/RAND_MAX;
</code></pre>
<p>(solange t nicht zerstört wird, kannst du problemlos mit diesem Array arbeiten)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031616</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 06 Apr 2006 07:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer und Arrays on Fri, 07 Apr 2006 06:56:38 GMT]]></title><description><![CDATA[<p>Danke für die Hilfe!<br />
Habe es an's Laufen bekommen.<br />
Schönes Wochenende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1032328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1032328</guid><dc:creator><![CDATA[KurtWagner76]]></dc:creator><pubDate>Fri, 07 Apr 2006 06:56:38 GMT</pubDate></item></channel></rss>