<?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[Problem mit Strings in einer Struktur mit Pointer]]></title><description><![CDATA[<p>Heyho Leute ich weiss einfach nicht wie ich aus dem Hauptprogramm auf den String in einer Struktur zugreifen kann wenn ich Pointer benutze</p>
<p>Hier mein Ansatz<br />
struct Bild<br />
{<br />
string Test;<br />
};</p>
<p>In main:<br />
Bild eins*;<br />
eins-&gt;Test=&quot;Hallo Leute&quot;);</p>
<p>Das Programm kompiliert zwar stürzt darauf aber sofort ab.<br />
Wenn ichs ohne Pointer mache also mit<br />
Bild zwei<br />
zwei.Test=&quot;Hallo Leute&quot;;<br />
funktioniert es aber halt nicht mit</p>
<p>Würde mich freuen wenn mir wer helfen kann<br />
Mfg<br />
Tollmer</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301665/problem-mit-strings-in-einer-struktur-mit-pointer</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 21:36:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301665.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Apr 2012 10:53:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Strings in einer Struktur mit Pointer on Sun, 01 Apr 2012 10:53:27 GMT]]></title><description><![CDATA[<p>Heyho Leute ich weiss einfach nicht wie ich aus dem Hauptprogramm auf den String in einer Struktur zugreifen kann wenn ich Pointer benutze</p>
<p>Hier mein Ansatz<br />
struct Bild<br />
{<br />
string Test;<br />
};</p>
<p>In main:<br />
Bild eins*;<br />
eins-&gt;Test=&quot;Hallo Leute&quot;);</p>
<p>Das Programm kompiliert zwar stürzt darauf aber sofort ab.<br />
Wenn ichs ohne Pointer mache also mit<br />
Bild zwei<br />
zwei.Test=&quot;Hallo Leute&quot;;<br />
funktioniert es aber halt nicht mit</p>
<p>Würde mich freuen wenn mir wer helfen kann<br />
Mfg<br />
Tollmer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2197565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2197565</guid><dc:creator><![CDATA[Tollmer]]></dc:creator><pubDate>Sun, 01 Apr 2012 10:53:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings in einer Struktur mit Pointer on Sun, 01 Apr 2012 11:08:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Bild b;
Bild* mein_bild = &amp;b;
mein_bild-&gt;Test = &quot;Hallo, Welt&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2197572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2197572</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 01 Apr 2012 11:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Strings in einer Struktur mit Pointer on Mon, 02 Apr 2012 09:10:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct Bild 
{ 
   string Test; 
}; 

int main()
{
   Bild eins*; 
   eins-&gt;Test=&quot;Hallo Leute&quot;); 
}
</code></pre>
<p>Du definierst nur einen <strong>Zeiger</strong>, aber sein Wert ist undefiniert. Das heißt, er zeigt irgendwo in den Speicher, wo sich mit allerhöchster Wahrscheinlichkeit kein Objekt vom Typ <code>Bild</code> befindet. Deswegen stürzt dein Programm ab, bzw. es erzeugt undefiniertes Verhalten, das zufällig zum Absturz führt.<br />
Bei Zeigern musst du selbst dafür sorgen, dass sie auf ordentlich initialisierte Objekte zeigen. Normalerweise benutzt man zwei Mechanismen, um auf gültige Zeiger zu prüfen. Mit Gültigkeit meine ich hier einen Wert != 0 oder ungleich nullptr für C++11. Nichtinitialisierte Zeiger sind in den allermeisten Fällen gültiger Zeiger, weil sie einen Wert != 0 haben. Das bedeutet allerdings nicht, dass sie auf ein gültiges Objekt zeigen, daher sollte man Zeiger immer direkt mit einem gültigen Objekt oder 0 initialisieren.</p>
<ol>
<li>Mit dem <code>assert</code> Makro, wenn der Zeiger zwingend gülitg sein muss. Das Makro ist nur im Debug Modus aktiv und führt zur Laufzeit zu einer Meldung und Programmabbruch, wenn der Zeiger ungültig ist.</li>
</ol>
<pre><code class="language-cpp">void func( Obj* obj )
{
   assert( obj );
}
</code></pre>
<ol start="2">
<li>Explizite Überprüfung auf Gültigkeit. Das ist notwendig wenn z.B. ein Parameter optional ist und daher auch 0 sein darf:</li>
</ol>
<pre><code class="language-cpp">void func( Obj* obj )
{
   if( obj )
   {
      ...
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2197874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2197874</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 02 Apr 2012 09:10:32 GMT</pubDate></item></channel></rss>