<?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[Verständnisproblem -&amp;gt; Funktionen]]></title><description><![CDATA[<p>Hallo nochmal <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>Ich habe ein kleines verständniss Problem bezüglich 'call by value' und Formalparameter/Aktualparameter.</p>
<p>Ich habe vor 4 Tagen mit C++ begonnen und stecke in meinem Buch jetzt auf Seite 108 fest <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Hier mal der Code, den ich nicht ganz verstehe.</p>
<pre><code class="language-cpp">// func6.cpp
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;

using namespace std;
// Funktions-Prototyp (Deklaration)
int area ( int l, int b );
bool not_null( int var );

int main() {
   int var1, var2, ret;

   cout &lt;&lt; &quot;Bitte die Länge angeben  : &quot;;
   if ( ! (cin &gt;&gt; var1) ) {
      cerr &lt;&lt; &quot;Fehler bei der Eingabe!\n&quot;;
      exit(1);
   } 
   cout &lt;&lt; &quot;Bitte die Breite angeben : &quot;;
   if ( !(cin &gt;&gt; var2) ) {
      cerr &lt;&lt; &quot;Fehler bei der Eingabe!\n&quot;;
      exit(1);
   } 

   if( not_null( var1 ) &amp;&amp; not_null( var2 ) ) {
      ret = area ( var1, var2 );
   }
   else {
      cout &lt;&lt; &quot;Eine der Angaben ist 0!\n&quot;;
      exit(1);
   }

   cout &lt;&lt; &quot;Die Fläche beträgt &quot; &lt;&lt; ret &lt;&lt; &quot;\n&quot;;
   return 0;
}

// Funktions-Definition
int area ( int l, int b ) {
   return (l * b);
}

bool not_null( int var ) {
   if ( var &gt; 0 ) {
      return true;
   }
   else {
      return false;
   }
}
</code></pre>
<p>Was ich nicht so ganz in mein Gehirn bringe ist, warum werden die Eingegebenen var1 und var2 plötzlich als die Parameter l und b behandelt sodass man auf area kommt? Laut meines verstädnisses müsste das doch eigentich bei der ersten Eingabe folgendes heißen.</p>
<pre><code class="language-cpp">if ( !(cin &gt;&gt; l) ) {...}
</code></pre>
<p>Bei der zweiten Angabe:</p>
<pre><code class="language-cpp">if ( !(cin &gt;&gt; b) ) {...}
</code></pre>
<p>Ich denke mal das ist noch eine Anfänger frage auf die man sicher eine Antwort weiß <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Könnte mir vielleicht jemand sagen, warum dies so ist und warum man eigentlich nicht gleich mit den Parametern l und b rechnet? Dann könnte ich mir doch den Speicher für var1 und var2 sparen oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242994/verständnisproblem-gt-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 17:12:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242994.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Jun 2009 18:05:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisproblem -&amp;gt; Funktionen on Wed, 10 Jun 2009 18:05:00 GMT]]></title><description><![CDATA[<p>Hallo nochmal <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>Ich habe ein kleines verständniss Problem bezüglich 'call by value' und Formalparameter/Aktualparameter.</p>
<p>Ich habe vor 4 Tagen mit C++ begonnen und stecke in meinem Buch jetzt auf Seite 108 fest <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Hier mal der Code, den ich nicht ganz verstehe.</p>
<pre><code class="language-cpp">// func6.cpp
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;

using namespace std;
// Funktions-Prototyp (Deklaration)
int area ( int l, int b );
bool not_null( int var );

int main() {
   int var1, var2, ret;

   cout &lt;&lt; &quot;Bitte die Länge angeben  : &quot;;
   if ( ! (cin &gt;&gt; var1) ) {
      cerr &lt;&lt; &quot;Fehler bei der Eingabe!\n&quot;;
      exit(1);
   } 
   cout &lt;&lt; &quot;Bitte die Breite angeben : &quot;;
   if ( !(cin &gt;&gt; var2) ) {
      cerr &lt;&lt; &quot;Fehler bei der Eingabe!\n&quot;;
      exit(1);
   } 

   if( not_null( var1 ) &amp;&amp; not_null( var2 ) ) {
      ret = area ( var1, var2 );
   }
   else {
      cout &lt;&lt; &quot;Eine der Angaben ist 0!\n&quot;;
      exit(1);
   }

   cout &lt;&lt; &quot;Die Fläche beträgt &quot; &lt;&lt; ret &lt;&lt; &quot;\n&quot;;
   return 0;
}

// Funktions-Definition
int area ( int l, int b ) {
   return (l * b);
}

bool not_null( int var ) {
   if ( var &gt; 0 ) {
      return true;
   }
   else {
      return false;
   }
}
</code></pre>
<p>Was ich nicht so ganz in mein Gehirn bringe ist, warum werden die Eingegebenen var1 und var2 plötzlich als die Parameter l und b behandelt sodass man auf area kommt? Laut meines verstädnisses müsste das doch eigentich bei der ersten Eingabe folgendes heißen.</p>
<pre><code class="language-cpp">if ( !(cin &gt;&gt; l) ) {...}
</code></pre>
<p>Bei der zweiten Angabe:</p>
<pre><code class="language-cpp">if ( !(cin &gt;&gt; b) ) {...}
</code></pre>
<p>Ich denke mal das ist noch eine Anfänger frage auf die man sicher eine Antwort weiß <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Könnte mir vielleicht jemand sagen, warum dies so ist und warum man eigentlich nicht gleich mit den Parametern l und b rechnet? Dann könnte ich mir doch den Speicher für var1 und var2 sparen oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724726</guid><dc:creator><![CDATA[daybreak]]></dc:creator><pubDate>Wed, 10 Jun 2009 18:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem -&amp;gt; Funktionen on Wed, 10 Jun 2009 19:39:45 GMT]]></title><description><![CDATA[<p>Bei eine Funktion der Form wie area werden die beiden Parameter lokal KOPIERT!<br />
Das heißt sie KÖNNEN anders heissen müssen aber nicht<br />
l und b können verändert werden was sich nicht auf var1 var2 auswirkt<br />
l und b ist eine KOPIE von var1 var2<br />
du kannst es auch l sepp und b xsaver nennen. Das spielt keine Rolle. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724790</guid><dc:creator><![CDATA[qwsfegrdfj]]></dc:creator><pubDate>Wed, 10 Jun 2009 19:39:45 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem -&amp;gt; Funktionen on Wed, 10 Jun 2009 19:41:45 GMT]]></title><description><![CDATA[<p>Und ja, da es eine so simple Funktion ist könnte man auf area verzeichten und gleich var1 * var2 machen.</p>
<p>ret = area ( var1, var2 );</p>
<p>beideutet nichts anderes als:</p>
<p>ret = var1 * var2;</p>
<p>Und wenn die Funktion area ihr Ende erreicht existieren die Variablen l und b nicht mehr. Sie sind nur LOKALE variablen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724792</guid><dc:creator><![CDATA[asdfdfjgdsfa]]></dc:creator><pubDate>Wed, 10 Jun 2009 19:41:45 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem -&amp;gt; Funktionen on Wed, 10 Jun 2009 20:03:34 GMT]]></title><description><![CDATA[<p>Cool danke jetzt hab ich das auch verstanden wie das gemeint ist mit den Lokalen und Globalen Variablen... nach dem Funktionsdurchlauf existieren die Lokalen Variablen dieser Funktion ja nichtmehr.. (offiziell). Das heißt es ist völlig egal wie die Parameter heißen, solange ich ihnen zwei Werte oder Variablen des selben Datentyps übergebe, alright?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724805</guid><dc:creator><![CDATA[daybreak]]></dc:creator><pubDate>Wed, 10 Jun 2009 20:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem -&amp;gt; Funktionen on Wed, 10 Jun 2009 20:21:56 GMT]]></title><description><![CDATA[<p>right<br />
inoffiziell gibts die auch nimmer @ runtime @ funktionsende <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":-D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724818</guid><dc:creator><![CDATA[asdhjhhgs]]></dc:creator><pubDate>Wed, 10 Jun 2009 20:21:56 GMT</pubDate></item></channel></rss>