<?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[Fragen zu Zeigern]]></title><description><![CDATA[<p>Hi,<br />
nach stundenlanger Suche im Internet geb ich langsam auf:<br />
Bei den Zeigern verstehe ich so einiges nicht, u. a. warum man Speicherplatz mit new reservieren muss. Tut man das nicht automatisch, wenn man einen Pointer erstellt? Warum muss man den Speicherplatz wieder freigeben? - Die Daten sind doch nur im RAM gespeichert, und gehen somit beim Neustart doch sowieso verloren?<br />
Wie ist das denn nun?<br />
Und gibt es eine einfache Möglichkeit (auch über Zeiger oder einfacher) die Daten dauerhaft zu speichern, und den Speicherplatz erst mit löschen eines Datensatzes (z. B. einer Struktur) freizugeben?<br />
Bin für jede Hilfe dankbar!<br />
Grüße<br />
Sarah</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126457/fragen-zu-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 18:53:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126457.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Nov 2005 10:01:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zu Zeigern on Tue, 15 Nov 2005 10:01:15 GMT]]></title><description><![CDATA[<p>Hi,<br />
nach stundenlanger Suche im Internet geb ich langsam auf:<br />
Bei den Zeigern verstehe ich so einiges nicht, u. a. warum man Speicherplatz mit new reservieren muss. Tut man das nicht automatisch, wenn man einen Pointer erstellt? Warum muss man den Speicherplatz wieder freigeben? - Die Daten sind doch nur im RAM gespeichert, und gehen somit beim Neustart doch sowieso verloren?<br />
Wie ist das denn nun?<br />
Und gibt es eine einfache Möglichkeit (auch über Zeiger oder einfacher) die Daten dauerhaft zu speichern, und den Speicherplatz erst mit löschen eines Datensatzes (z. B. einer Struktur) freizugeben?<br />
Bin für jede Hilfe dankbar!<br />
Grüße<br />
Sarah</p>
]]></description><link>https://www.c-plusplus.net/forum/post/918279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/918279</guid><dc:creator><![CDATA[sarah1986]]></dc:creator><pubDate>Tue, 15 Nov 2005 10:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Tue, 15 Nov 2005 10:21:58 GMT]]></title><description><![CDATA[<p>- Ein Zeiger ist eigenentlich eine Variable in der eine Adresse gespeichert wird. Für die Adresse wird Speicherplatz reserviert für das Objekt dessen Adresse im Zeiger gespeichert wird nicht. Kann ja sein dass du die Adresse eines bereits vorhandenen Objekts in die Zeiger-Variable stopfen möchtest...<br />
- Der Speicher einer mit new reservieten Speichers muss freigegeben werden, da ansonsten der Computer nicht weiß ab wann er zur Laufzeit des Programms den Speicher freigeben kann. Somit wäre der reservierte Speicher bis zum Ende des Programms blockiert (jenachdem wie lange das Programm läuft kann das ganz schön viel Speicher blockieren).<br />
- Mit new angelegte Daten existieren nach dem Beenden einer Funktion weiter, bis sie mit einem delete gelöscht werden (könnte man z.B. in einem Destruktor machen). <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>
]]></description><link>https://www.c-plusplus.net/forum/post/918308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/918308</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Tue, 15 Nov 2005 10:21:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Tue, 15 Nov 2005 10:30:00 GMT]]></title><description><![CDATA[<p>Wenn du einen Pointer erstellst (char* p), hast du nur genug Platz, um eine Adresse aufzunehmen. Dieser Pointer kann entweder auf selbst bereitgestellten Speicher (p=new char[...]) oder fremden Speicher (p=&amp;c) verweisen, je nach Bedarf - aber zunächst zeigt er noch nirgends hin.<br />
Wenn du den Pointer benutzt, ohne ihn auf einen definierten Bereich zeigen zu lassen, schreibst du <strong>irgendwo</strong> in deinen RAM - mit sehr viel Glück stört das niemanden, aber in der Regel zerlegst du damit Daten, die ein anderer Teil des Programms noch benötigt (wenn nicht sogar den Programmcode selber).</p>
<blockquote>
<p>Und gibt es eine einfache Möglichkeit (auch über Zeiger oder einfacher) die Daten dauerhaft zu speichern, und den Speicherplatz erst mit löschen eines Datensatzes (z. B. einer Struktur) freizugeben?</p>
</blockquote>
<p>Indem du sie (über fstream oder FILE*) in eine Datei speicherst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/918319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/918319</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Tue, 15 Nov 2005 10:30:00 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Tue, 15 Nov 2005 11:18:38 GMT]]></title><description><![CDATA[<p>das hat mir fürs erste einiges weiter geholfen. nun bin ich mal gespannt, ob ich das in der praxis auch hinbekomme.<br />
das mit dem in eine datei speichern werde ich wohl erstmal lassen. jetzt mach ich das erstmal so.<br />
tausend dank euch beiden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/918358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/918358</guid><dc:creator><![CDATA[sarah1986]]></dc:creator><pubDate>Tue, 15 Nov 2005 11:18:38 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Wed, 16 Nov 2005 15:18:42 GMT]]></title><description><![CDATA[<p>Mit dauerhaft speichern meinstest du aber nicht, Variablen nur solange zu speichern, bis das Programm beendet wird oder? Weil wenn ja, dann könntest du die Variablen doch auch global deklarieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/919291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/919291</guid><dc:creator><![CDATA[milo51]]></dc:creator><pubDate>Wed, 16 Nov 2005 15:18:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Wed, 16 Nov 2005 16:06:30 GMT]]></title><description><![CDATA[<p>Du meinst doch sicher statisch und nicht global... <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/919348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/919348</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 16 Nov 2005 16:06:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Wed, 16 Nov 2005 18:11:54 GMT]]></title><description><![CDATA[<p>Und ich dachte, das wäre das gleiche oO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/919416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/919416</guid><dc:creator><![CDATA[milo51]]></dc:creator><pubDate>Wed, 16 Nov 2005 18:11:54 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Zeigern on Wed, 16 Nov 2005 19:03:38 GMT]]></title><description><![CDATA[<p>Globale Variabeln sind statisch, aber du kannst aber auch innerhalb von Funktionen und Klassen statische Variablen deklarieren (und die sind meiner Meinung nach nicht global).<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Wobei wir das mit den globalen Variablen, genauso wie die statischen Variablen innerhalb von Funktionen als gute C++-Programmierer gleich wieder vergessen und brav objektorientiert wie wir sind nur Klassenvariablen verwenden.<br />
<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/919459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/919459</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 16 Nov 2005 19:03:38 GMT</pubDate></item></channel></rss>