<?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 auf funktion]]></title><description><![CDATA[<p>Ich habe mal ne frage , wenn ich einen Zeiger auf einefunktion zeigen lasse wie zum beispiel :</p>
<pre><code>int *pointer;
int funktion(int a)
{
int b=a*a;
return b;
}
..
*pointer=funktion(5);
...
</code></pre>
<p>Dann zeigt der pointer auf das return ..;</p>
<p>Doch was passiert wenn eine funktion eine Zeiger ist was kann man dann damit machen :</p>
<pre><code>int *funktion ()
{
....
}
</code></pre>
<p>Bitte ein beispiel .<br />
Danke im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137781/pointer-auf-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 22:45:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137781.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Feb 2006 18:14:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer auf funktion on Mon, 20 Feb 2006 18:14:29 GMT]]></title><description><![CDATA[<p>Ich habe mal ne frage , wenn ich einen Zeiger auf einefunktion zeigen lasse wie zum beispiel :</p>
<pre><code>int *pointer;
int funktion(int a)
{
int b=a*a;
return b;
}
..
*pointer=funktion(5);
...
</code></pre>
<p>Dann zeigt der pointer auf das return ..;</p>
<p>Doch was passiert wenn eine funktion eine Zeiger ist was kann man dann damit machen :</p>
<pre><code>int *funktion ()
{
....
}
</code></pre>
<p>Bitte ein beispiel .<br />
Danke im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/998835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/998835</guid><dc:creator><![CDATA[Lightning*]]></dc:creator><pubDate>Mon, 20 Feb 2006 18:14:29 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf funktion on Mon, 20 Feb 2006 18:36:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Lightning* schrieb:</p>
<blockquote>
<p>Dann zeigt der pointer auf das return ..;</p>
</blockquote>
<p>eigentlich zeigt er auf die Funktion, da er als Wert die Adresse der Funktion hat. Aber ich rede von Funktionszeigern, und du redest von einem Zeiger, der von einer Methode zurückgegeben wird, lies bitte die Links unten durch.</p>
<blockquote>
<p>Doch was passiert wenn eine funktion eine Zeiger ist was kann man dann damit machen :</p>
</blockquote>
<p>Du meintest: &quot;Was passiert, wenn eine Funktion einen Zeiger zurückgibt?&quot;</p>
<p>Hier das Beispiel:</p>
<pre><code class="language-cpp">//createArray gibt einen Zeiger auf int zurück
int * createArray(size_t n) {
  int *p = new int[n];  //int-Array mit n Elementen dynamisch anlegen und zurückgeben
  return p;
};

//...

//So, wenn alles glatt ging (genug Speicher frei und so), dann zeigt arr jetzt auf einen 5*int 
//(plus ein bisserl Overhead) Speicherbereich
int *arr = createArray(5);  

for (int i=0;i&lt;5;++i)
  arr[i] = i*i - i;  //bisserl rumspielen ;)

delete [] arr;  //Speicher auch wieder freigeben!
</code></pre>
<p>Falls du's immer noch nicht gerafft hast: <a href="http://tutorial.schornboeck.net/referenz_return.htm" rel="nofollow">http://tutorial.schornboeck.net/referenz_return.htm</a><br />
oder du liest dir meinen Artikel zum Thema durch: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-124532.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-124532.html</a></p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/998856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/998856</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 20 Feb 2006 18:36:42 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf funktion on Tue, 21 Feb 2006 08:45:39 GMT]]></title><description><![CDATA[<p>Was bewirkt diese &quot;size_t&quot; , ich weiss nicht was das sein soll ?</p>
<p>// Edit: Ein Fragezeichen reicht vollkommen. -.- (evilissimo)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999088</guid><dc:creator><![CDATA[Lighthing*]]></dc:creator><pubDate>Tue, 21 Feb 2006 08:45:39 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf funktion on Tue, 21 Feb 2006 08:19:02 GMT]]></title><description><![CDATA[<p>size_t ist ein vorzeichenloser Ganzzahltyp, der groß genug ist um alle theoretisch möglichen sizeof()-Ergebnisse aufzunehmen (gehört afaik zum ANSI C Standard).</p>
<p>(meist ist das ein typedef auf unsigned int oder unsigned long)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999096</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Tue, 21 Feb 2006 08:19:02 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf funktion on Tue, 21 Feb 2006 21:54:23 GMT]]></title><description><![CDATA[<p>Lightning* schrieb:</p>
<blockquote>
<p>Ich habe mal ne frage , wenn ich einen Zeiger auf einefunktion zeigen lasse wie zum beispiel :</p>
<pre><code>int *pointer;
int funktion(int a)
{
int b=a*a;
return b;
}
..
*pointer=funktion(5);
...
</code></pre>
<p>Dann zeigt der pointer auf das return ..;</p>
</blockquote>
<p>Nein, der zeigt nicht auf das return und auch nicht auf die Funktion. Er zeigt irgendwo in die Prärie (weil er nicht initialisiert ist), und du schreibst an diese Adresse den Rückgabewert der Funktion. Die Funktion ist also an dem ganzen Vorgang (der übrigens undefiniertes Verhalten erzeugt) nur ganz am Rande beteiligt.</p>
<p>Ein Funktionszeiger zeigt auf die Funktion selbst. Wenn man ihn dereferenziert, bekommt man die Funktion und kann sie aufrufen:</p>
<pre><code class="language-cpp">int funka() { return 42; }
int funkb() { return 23; }
int (*funktionszeiger)();
...
funktionszeiger = funka;
(*funktionszeiger)() // ergibt 42
funktionszeiger = funkb;
funktionszeiger() // ergibt 23, die Dereferenzierung mittels * ist implizit und kann weggelassen werden
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/999803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999803</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 21 Feb 2006 21:54:23 GMT</pubDate></item></channel></rss>