<?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[grundlegende Bedeutung von NULL!]]></title><description><![CDATA[<p>Hallo guten Tag,<br />
man begegnet immer wieder der NULL Abfrage die ich selber aber noch nicht benutzt<br />
habe, in Oracle war es uns in der Schule vielleicht nicht gut erklärt worden, da dort gesagt worden war es bedeute eine Negation also logisch Null aber es wäre auch nicht wirklich 0 als logischer Wert ? Also eine bestimmte Belgegung,die sagt:<br />
NULL, nicht belegt, aber auch nicht 0 ? Soweit konnte Ich dem dann noch klar folgen. Das Problem allerdings NULL wird in C++ und auch anderen Sprachen oft<br />
einfach benutzt ohne das irgendetwas mit NULL vorher explizit belegt wurde ?<br />
Das ist irgendwie widersprüchlich ?<br />
Beispiel:</p>
<pre><code>FUNKTION deleteElement( Datum )
   {
      Zeiger *aktuellesElement = NULL;
      Zeiger *nächstesElement = ErstesElement();

      SOLANGE ( nächstesElement != NULL )
      {
         WENN (nächstesElement-&gt;Datum == Datum) // ''zu löschendes Element gefunden''
         {
            WENN ( aktuellesElement != NULL ) // ''wir befinden uns nicht am Listenbeginn''
            {
               WENN ( nächstesElement-&gt;pNext != NULL) // ''wir befinden uns nicht am Listenende''
               {
                  aktuellesElement-&gt;pNext = nächstesElement-&gt;pNext;
                  Lösche nächstesElement;
               }
               SONST // ''wir befinden uns am Listenende''
               {
                  aktuellesElement-&gt;pNext = NULL;
                  Lösche nächstesElement;
               }
            }
            SONST // ''wir befinden uns am Listenbeginn''
            {
               WENN ( nächstesElement-&gt;pNext != NULL) // ''wir befinden uns nicht am Listenende''
                  Setze Listenbeginn auf nächstesElement-&gt;pNext;
               SONST // ''wir befinden uns am Listenende - wir löschen das einzige Element, Liste ist nun leer''
                  Setze Listenbeginn auf NULL;

               Lösche nächstesElement;
            }
         }
         AktuellesElement = nächstesElement;
         nächstesElement = nächstesElement-&gt;pNext;
      }
   }
</code></pre>
<p>Mein Problem, wenn NULL kein bestimmter Wert in C++ ist, der vorher auf das Feld oder auf die Variable was auch immer durch einen Befehl draufgeleget wird ! -<br />
Mit Was ist seine exakte Bedeutung für den Compiler äquivalent, mir ist schon<br />
klar ,dass es halt bedeutet das in dem Beispiel an der Positon nichts eingetragen<br />
ist; aber was ist Null, wenn der Programmierer hier nicht ersichtlich vor der Abfrage auf NULL dort Null eingetragen hat ? Es stört, wenn man nicht die logische Zuordnung zu dem Quelltext sehen kann ? ist Null wie false und true ein Schlüsselwort das der Compiler einfach kennt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338574/grundlegende-bedeutung-von-null</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 10:22:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338574.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Jun 2016 08:10:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 08:13:54 GMT]]></title><description><![CDATA[<p>Hallo guten Tag,<br />
man begegnet immer wieder der NULL Abfrage die ich selber aber noch nicht benutzt<br />
habe, in Oracle war es uns in der Schule vielleicht nicht gut erklärt worden, da dort gesagt worden war es bedeute eine Negation also logisch Null aber es wäre auch nicht wirklich 0 als logischer Wert ? Also eine bestimmte Belgegung,die sagt:<br />
NULL, nicht belegt, aber auch nicht 0 ? Soweit konnte Ich dem dann noch klar folgen. Das Problem allerdings NULL wird in C++ und auch anderen Sprachen oft<br />
einfach benutzt ohne das irgendetwas mit NULL vorher explizit belegt wurde ?<br />
Das ist irgendwie widersprüchlich ?<br />
Beispiel:</p>
<pre><code>FUNKTION deleteElement( Datum )
   {
      Zeiger *aktuellesElement = NULL;
      Zeiger *nächstesElement = ErstesElement();

      SOLANGE ( nächstesElement != NULL )
      {
         WENN (nächstesElement-&gt;Datum == Datum) // ''zu löschendes Element gefunden''
         {
            WENN ( aktuellesElement != NULL ) // ''wir befinden uns nicht am Listenbeginn''
            {
               WENN ( nächstesElement-&gt;pNext != NULL) // ''wir befinden uns nicht am Listenende''
               {
                  aktuellesElement-&gt;pNext = nächstesElement-&gt;pNext;
                  Lösche nächstesElement;
               }
               SONST // ''wir befinden uns am Listenende''
               {
                  aktuellesElement-&gt;pNext = NULL;
                  Lösche nächstesElement;
               }
            }
            SONST // ''wir befinden uns am Listenbeginn''
            {
               WENN ( nächstesElement-&gt;pNext != NULL) // ''wir befinden uns nicht am Listenende''
                  Setze Listenbeginn auf nächstesElement-&gt;pNext;
               SONST // ''wir befinden uns am Listenende - wir löschen das einzige Element, Liste ist nun leer''
                  Setze Listenbeginn auf NULL;

               Lösche nächstesElement;
            }
         }
         AktuellesElement = nächstesElement;
         nächstesElement = nächstesElement-&gt;pNext;
      }
   }
</code></pre>
<p>Mein Problem, wenn NULL kein bestimmter Wert in C++ ist, der vorher auf das Feld oder auf die Variable was auch immer durch einen Befehl draufgeleget wird ! -<br />
Mit Was ist seine exakte Bedeutung für den Compiler äquivalent, mir ist schon<br />
klar ,dass es halt bedeutet das in dem Beispiel an der Positon nichts eingetragen<br />
ist; aber was ist Null, wenn der Programmierer hier nicht ersichtlich vor der Abfrage auf NULL dort Null eingetragen hat ? Es stört, wenn man nicht die logische Zuordnung zu dem Quelltext sehen kann ? ist Null wie false und true ein Schlüsselwort das der Compiler einfach kennt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499993</guid><dc:creator><![CDATA[softpad]]></dc:creator><pubDate>Fri, 24 Jun 2016 08:13:54 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 08:20:14 GMT]]></title><description><![CDATA[<p>also unter c++ ist NULL == 0, wenn sich das nicht zwischenzeitlich geändert hat.</p>
<p>laut stroustrup persönlich ist es nicht schön, NULL zu verwenden und eigentlich kannst es dir auch sparen, und einfach 0 verwenden.</p>
<p>praktische anwendungsgebiete sind das &quot;entschärfen&quot; von wilden zeigen, sprich du setzt sie dann =NULL oder =0 und wenn du dann schreibend auf sie zugreifst, schmiert dir das programm ab, anstatt irgendwo wild im speicher rumzuschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499995</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Fri, 24 Jun 2016 08:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 08:24:25 GMT]]></title><description><![CDATA[<p>Für Nullzeiger gibt es nullptr, NULL sollte nicht verwendet werden. Auf solch einen Nullzeiger zuzugreifen ist undefiniert, meist stürzt es ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499996</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Fri, 24 Jun 2016 08:24:25 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 08:28:17 GMT]]></title><description><![CDATA[<p>was vielleicht nicht verkehrt ist, da dann irgendetwas nicht stimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499997</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Fri, 24 Jun 2016 08:28:17 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 08:28:56 GMT]]></title><description><![CDATA[<p>HansKlaus schrieb:</p>
<blockquote>
<p>laut stroustrup persönlich ist es nicht schön, NULL zu verwenden und eigentlich kannst es dir auch sparen, und einfach 0 verwenden.</p>
</blockquote>
<p>Das Zitat muss recht alt sein. Heute würde er sicher zu nullptr raten, wenn der Pointer gemeint ist.</p>
<p>Sofern man die Zahl 0 meint: 0 verwenden.<br />
Sofern man den Nullpointer meint: <code>nullptr</code> verwenden. Grund: Typsicherheit, der nullptr wird nicht einfach in einen int umgewandelt.</p>
<p>Hier mal ausführlicher was dazu: <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf" rel="nofollow">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499998</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Fri, 24 Jun 2016 08:28:56 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 08:41:42 GMT]]></title><description><![CDATA[<p>Danke, die Antworten machen es verständlich !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2499999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2499999</guid><dc:creator><![CDATA[softpad]]></dc:creator><pubDate>Fri, 24 Jun 2016 08:41:42 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 10:21:13 GMT]]></title><description><![CDATA[<p>Techel schrieb:</p>
<blockquote>
<p>Für Nullzeiger gibt es nullptr, NULL sollte nicht verwendet werden. Auf solch einen Nullzeiger zuzugreifen ist undefiniert, meist stürzt es ab.</p>
</blockquote>
<p>Stimmt, wenn zugreifen = dereferenzieren. Mann kann aber den Pointerwert testen:</p>
<pre><code class="language-cpp">int* p = nullptr;
if(p) ...
if(p==nullptr) ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2500015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500015</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 24 Jun 2016 10:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to grundlegende Bedeutung von NULL! on Fri, 24 Jun 2016 11:06:10 GMT]]></title><description><![CDATA[<p>Ja, das stimmt natürlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2500023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2500023</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Fri, 24 Jun 2016 11:06:10 GMT</pubDate></item></channel></rss>