<?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[Zeiger und String&#x27;s bei Visual C++ 2005]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>hab arge Probleme die <strong>ZEIGER und STRING Funktionen</strong> zu verstehen...<br />
<strong>wäre cool, wenn ihr mir da helfen könntet</strong> (evt. sogar mit kleinen Peispiel Programme. Da meist en kleines Beispiel dem Verständnis es zu verstehen arg hilft.)</p>
<p>Wenn ihr ein Buch empfehlen könntet wäre ich auch sehr dankbar.<br />
War vor kurzem in einer Bücherei. Jedoch war es entweder nur sehr unverständlich beschrieben oder es war der neue Standard schon eingeführt.<br />
Wobei ich wieder nur bahnhof verstand.</p>
<p>Naja, auch egal....</p>
<p>Vielen Dank schon mal im vorraus.</p>
<p>MFG<br />
Chaos5</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181633/zeiger-und-string-s-bei-visual-c-2005</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 09:43:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181633.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 May 2007 17:15:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:15:06 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>hab arge Probleme die <strong>ZEIGER und STRING Funktionen</strong> zu verstehen...<br />
<strong>wäre cool, wenn ihr mir da helfen könntet</strong> (evt. sogar mit kleinen Peispiel Programme. Da meist en kleines Beispiel dem Verständnis es zu verstehen arg hilft.)</p>
<p>Wenn ihr ein Buch empfehlen könntet wäre ich auch sehr dankbar.<br />
War vor kurzem in einer Bücherei. Jedoch war es entweder nur sehr unverständlich beschrieben oder es war der neue Standard schon eingeführt.<br />
Wobei ich wieder nur bahnhof verstand.</p>
<p>Naja, auch egal....</p>
<p>Vielen Dank schon mal im vorraus.</p>
<p>MFG<br />
Chaos5</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285613</guid><dc:creator><![CDATA[Chaos5]]></dc:creator><pubDate>Tue, 15 May 2007 17:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:23:05 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Was meinst du mit Zeiger- und stringfunktionen? Was meinst du mit string (char* oder std::string?)</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285622</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 15 May 2007 17:23:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:23:24 GMT]]></title><description><![CDATA[<p>Chaos5 schrieb:</p>
<blockquote>
<p>Hallo alle zusammen,</p>
<p>hab arge Probleme die <strong>ZEIGER und STRING Funktionen</strong> zu verstehen...<br />
<strong>wäre cool, wenn ihr mir da helfen könntet</strong> (evt. sogar mit kleinen Peispiel Programme. Da meist en kleines Beispiel dem Verständnis es zu verstehen arg hilft.)</p>
</blockquote>
<p>Nenn doch ein Beispiel was du nicht verstehst dann kann mans besser erklären. Und was verstehst du unter einer String Funktion? Mach also wie gesagt ein Beispiel <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>
<p>Chaos5 schrieb:</p>
<blockquote>
<p>Vielen Dank schon mal im v******.</p>
</blockquote>
<p><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>Gruß Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285623</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Tue, 15 May 2007 17:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:34:54 GMT]]></title><description><![CDATA[<p>Die soll benotet werden jedoch bevor ich das ganze net schnalle, kann ich's leider nicht ausfüllen.</p>
<p>Aber somit wisst ihr, mit welchen Funktionen ich zu tun hab...</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;iostream.h&gt;<br />
#include &lt;conio.h&gt;<br />
#include &lt;math.h&gt;</p>
<p>struct IP<br />
{<br />
//Speicherung für Dezimale Darstellung (192.1.1.1)<br />
int dez_okt1,dez_okt2,dez_okt3,dez_okt4;<br />
int bin_okt1[8],bin_okt2[8],bin_okt3[8],bin_okt4[8];<br />
};</p>
<p>struct Subnetz<br />
{<br />
IP ip;<br />
//IP subnetzmaske;<br />
char klasse;<br />
int anzahl_Rechner_Subnetz;<br />
};</p>
<p>struct Netz<br />
{<br />
IP ip;<br />
IP subnetzmaske;<br />
int EntlehnteBits;<br />
char klasse;<br />
int anzahl_Subnetze;<br />
int anzahl_Rechner_gesamt;<br />
Subnetz subnetze[256];<br />
};</p>
<p>//Wandelt eine Dezimalzahl in ein 8 Bit Binärfeld um!!<br />
void dezi_to_bin(int dezimalzahl, int *binaer_feld)<br />
{<br />
int modrest=0, divisionsrest, i;<br />
//Initialisierung<br />
for (i=0;i&lt;=7;i++)<br />
{<br />
binaer_feld[i] = 0;<br />
}<br />
divisionsrest = dezimalzahl;<br />
i=7;<br />
do<br />
{<br />
modrest=divisionsrest%2;<br />
binaer_feld[i]=modrest;<br />
divisionsrest=divisionsrest/2;<br />
i--;<br />
}<br />
while(divisionsrest != 0);<br />
}</p>
<p>//Hilfsfunktion zum Rechnen mit Exponenten<br />
int exponent(int basis, int exponent)<br />
{<br />
int ergebnis;<br />
ergebnis=basis;<br />
if(exponent==0)<br />
{<br />
ergebnis=1;<br />
}</p>
<p>else<br />
{<br />
for(int i=1; i&lt;exponent; i++)<br />
{<br />
ergebnis=ergebnis*basis;<br />
} //for(int i=0; i&lt;=exponent; i++)<br />
}<br />
return ergebnis;<br />
} //int exponent(int basis, int exponent)</p>
<p>//Umrechnung einer Binarzahl in eine Dezimalzahl.<br />
//Die Binarzahl muss durch ein array mit 8 Elementen uebergeben werden.<br />
//Es wird die Dezimalzahl vom Typ int zurueckgegeben.<br />
//Beispiel fuer die Dezimalzahl 192 als Binaerzahl im array.<br />
//Element [1][1][0][0][0][0][0][0 ]<br />
//Index 7 6 5 4 3 2 1 0</p>
<p>int bin_to_dezi(int* binaer_feld)</p>
<p>{<br />
int dezizahl,hilf;</p>
<p>dezizahl=0;<br />
for(int i=0; i&lt;8; i++)<br />
{<br />
dezizahl=dezizahl+binaer_feld[i]*exponent(2,i);<br />
} //for(int i=0; i&lt;8; i++)</p>
<p>return dezizahl;<br />
}//int bin_to_dezi(int* binarzahl)</p>
<p>//Umwanldeln von dezimale Darstellung in Binäre Darstellung<br />
void IP_Adress_dezi_to_bin(IP &amp;ip)<br />
{<br />
dezi_to_bin(ip.dez_okt1,ip.bin_okt1);<br />
dezi_to_bin(ip.dez_okt2,ip.bin_okt2);<br />
dezi_to_bin(ip.dez_okt3,ip.bin_okt3);<br />
dezi_to_bin(ip.dez_okt4,ip.bin_okt4);<br />
}</p>
<p>//Übergabeparameter call by reference (Original)<br />
void Einlesen(IP &amp;Ip1)<br />
{<br />
char point;<br />
cout &lt;&lt;&quot;Bitte geben Sie die IP-Adresse an:192.1.1.1 :&quot;;<br />
cin &gt;&gt;Ip1.dez_okt1&gt;&gt;point&gt;&gt;Ip1.dez_okt2&gt;&gt;point&gt;&gt;Ip1.dez_okt3&gt;&gt;point&gt;&gt;Ip1.dez_okt4;</p>
<p>//Umwandlung in Binäre Darstellung<br />
dezi_to_bin(Ip1.dez_okt1,Ip1.bin_okt1);<br />
dezi_to_bin(Ip1.dez_okt2,Ip1.bin_okt2);<br />
dezi_to_bin(Ip1.dez_okt3,Ip1.bin_okt3);<br />
dezi_to_bin(Ip1.dez_okt4,Ip1.bin_okt4);<br />
}</p>
<p>//Übergabeparameter call by value (Kopie)<br />
void Auslesen(IP Ip1)<br />
{<br />
cout&lt;&lt;&quot;IP: &quot;&lt;&lt;Ip1.dez_okt1&lt;&lt;&quot;.&quot;&lt;&lt;Ip1.dez_okt2&lt;&lt;&quot;.&quot;&lt;&lt;Ip1.dez_okt3&lt;&lt;&quot;.&quot;&lt;&lt;Ip1.dez_okt4;<br />
}</p>
<p>void AuslesenMaske(IP Ip1)<br />
{<br />
cout&lt;&lt;&quot;Maske: &quot;&lt;&lt;Ip1.dez_okt1&lt;&lt;&quot;.&quot;&lt;&lt;Ip1.dez_okt2&lt;&lt;&quot;.&quot;&lt;&lt;Ip1.dez_okt3&lt;&lt;&quot;.&quot;&lt;&lt;Ip1.dez_okt4;<br />
}</p>
<p>void AuslesenNetzKlasse(Netz netzwerk)<br />
{<br />
cout&lt;&lt;endl;<br />
cout&lt;&lt;&quot;AdressKlasse: &quot;&lt;&lt;netzwerk.klasse;<br />
}</p>
<p>void Auslesen_Binaer_Maske(IP Ip1)<br />
{<br />
int i=0;<br />
cout&lt;&lt;&quot;Maske Binaer: &quot;;<br />
for(i=7;i&gt;=0;i--)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt1[i];<br />
}<br />
cout &lt;&lt;&quot;.&quot;;<br />
for(i=7;i&gt;=0;i--)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt2[i];<br />
}<br />
cout &lt;&lt;&quot;.&quot;;<br />
for(i=7;i&gt;=0;i--)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt3[i];<br />
}<br />
cout &lt;&lt;&quot;.&quot;;<br />
for(i=7;i&gt;=0;i--)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt4[i];<br />
}<br />
}</p>
<p>Auslesen_Binaer_IP(IP Ip1)<br />
{<br />
int i=0;<br />
cout&lt;&lt;&quot;IP Binaer: &quot;;<br />
for(i=0;i&lt;=7;i++)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt1[i];<br />
}<br />
cout &lt;&lt;&quot;.&quot;;<br />
for(i=0;i&lt;=7;i++)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt2[i];<br />
}<br />
cout &lt;&lt;&quot;.&quot;;<br />
for(i=0;i&lt;=7;i++)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt3[i];<br />
}<br />
cout &lt;&lt;&quot;.&quot;;<br />
for(i=0;i&lt;=7;i++)<br />
{<br />
cout&lt;&lt;Ip1.bin_okt4[i];<br />
}</p>
<p>}</p>
<p>//Übung!!<br />
char IP_AdressKlasse(IP Ip1)<br />
{<br />
if (Ip1.dez_okt1 &gt;=0 &amp;&amp; Ip1.dez_okt1&lt;=127) return 'A';<br />
else<br />
{<br />
if (Ip1.dez_okt1 &gt;=128 &amp;&amp; Ip1.dez_okt1&lt;=191) return 'B';<br />
else<br />
{<br />
if (Ip1.dez_okt1 &gt;=192 &amp;&amp; Ip1.dez_okt1&lt;=223) return 'C';<br />
else<br />
{<br />
return '!';<br />
}<br />
}<br />
}</p>
<p>}</p>
<p>BerechneSubnetzmaske(Netz &amp;netzwerk)<br />
{<br />
netzwerk.klasse = IP_AdressKlasse(netzwerk.ip);<br />
switch(netzwerk.klasse)<br />
{<br />
case 'A':<br />
//cout&lt;&lt;&quot;Das ist ein Klasse A Netz.\n&quot;;<br />
netzwerk.subnetzmaske.dez_okt1=255;<br />
netzwerk.subnetzmaske.dez_okt2=0;<br />
netzwerk.subnetzmaske.dez_okt3=0;<br />
netzwerk.subnetzmaske.dez_okt4=0;<br />
//Binär Initialisierung<br />
IP_Adress_dezi_to_bin(netzwerk.subnetzmaske);</p>
<p>break;<br />
case 'B':<br />
//cout&lt;&lt;&quot;Das ist ein Klasse B Netz.\n&quot;;<br />
netzwerk.subnetzmaske.dez_okt1=255;<br />
netzwerk.subnetzmaske.dez_okt2=255;<br />
netzwerk.subnetzmaske.dez_okt3=0;<br />
netzwerk.subnetzmaske.dez_okt4=0;<br />
IP_Adress_dezi_to_bin(netzwerk.subnetzmaske);<br />
break;<br />
case 'C':<br />
//cout&lt;&lt;&quot;Das ist ein Klasse C Netz.\n&quot;;<br />
netzwerk.subnetzmaske.dez_okt1=255;<br />
netzwerk.subnetzmaske.dez_okt2=255;<br />
netzwerk.subnetzmaske.dez_okt3=255;<br />
netzwerk.subnetzmaske.dez_okt4=0;<br />
IP_Adress_dezi_to_bin(netzwerk.subnetzmaske);<br />
break;<br />
default:<br />
cout&lt;&lt;&quot;\nFalsche Eingabe.\n&quot;;<br />
}//switch(klasse)<br />
//Ausgabe Subnetmaske</p>
<p>}<br />
/****************************************************<br />
//Die Funktion berechnet die Maximale Anzahl der Hosts<br />
//Abhängig davon welche Ip Adresse übergeben wird<br />
//Rückgabewert ist die Anzahl der maximalen Hosts<br />
//Die Maxhosts soll zusätzlich in der Datenstrukur<br />
//netzwerk.anzahl_Rechner_gesamt gespeichert werden!<br />
//Erstellen Sie auch ein Struktogramm für die Funktion<br />
*////////////////////////////////////////////////////</p>
<p>int BerechneMaxHost(Netz &amp;netzwerk)<br />
{<br />
//???</p>
<p>return MaxHosts;<br />
}</p>
<p>void Ausgabe_Menu()<br />
{<br />
//Menu<br />
cout &lt;&lt;&quot; |====================================================|&quot; &lt;&lt; endl;<br />
cout &lt;&lt;&quot; |$$$$$$$$$$$$$$$$ Network Calculate $$$$$$$$$$$$$$$$|" << endl;  
cout <<" |____________________________________________________|" << endl;  
cout <<" |(1) IP - Adresse Binaer umwandeln ! |" << endl;  
cout <<" |(2) Netzwerkklasse bestimmen! |" << endl;  
cout <<" |(3) Subnetmaske bestimmen! |" << endl;  
cout <<" |(4) Anzahl der maximale Hosts bestimmen! |" << endl;  
cout <<" |(5) Auswahl: Ohne Subnetze ! |" << endl;  
cout <<" |(6) Auswahl: Mit Subnetze ! |" << endl;  
cout <<" |(0) Beenden des Programms!! |" << endl;  
cout <<" |___________________________________________________|" << endl;  
cout <<" |$$$$$$$$$$ Projekt : SE 11_ $$$$$$$$$$$|&quot; &lt;&lt; endl;<br />
cout &lt;&lt;&quot; |====================================================|&quot; &lt;&lt; endl;<br />
cout &lt;&lt; endl;<br />
}</p>
<p>//Der Benutze gibt die Anzahl der Subnetze an.<br />
void AngabeAnzahlSubnetze(Netz &amp;network)<br />
{<br />
cout&lt;&lt;&quot;Wieviel Subnetze wollen Sie bilden?&quot;;<br />
cin &gt;&gt; network.anzahl_Subnetze;</p>
<p>}</p>
<p>//Die Funktion berechnet die Anzahl der entlehnten Bits<br />
//Abhänig davon der Angabe der Anzahl der Subnetze die<br />
//vorher in network.anzahl_Subnetze angeben werden muss<br />
//Berechnet die Anzahl der Bits die entlehnt werden muessen</p>
<p>int anzahl_entlehnterBits(Netz &amp;network)<br />
{<br />
return n;<br />
}</p>
<p>///////////////////////////////////////////////////<br />
//Die Funktion bestimmt die Erweiterte Subnetzmaske<br />
////////////////////////////////////////////////////<br />
void BerechneErweiterteSubnetzmaske(Netz &amp;netzwerk)<br />
{<br />
//??????????????<br />
}</p>
<p>void AusgabeMaxHost(Netz netzwerk)<br />
{<br />
cout &lt;&lt;&quot;Max_Hosts:&quot;&lt;&lt; netzwerk.anzahl_Rechner_gesamt;<br />
}</p>
<p>void AuslesenDatenstruktur(Netz netzwerk)<br />
{<br />
Auslesen(netzwerk.ip);<br />
cout&lt;&lt;endl;<br />
Auslesen_Binaer_IP(netzwerk.ip);<br />
cout&lt;&lt;endl;<br />
AuslesenMaske(netzwerk.subnetzmaske);<br />
cout&lt;&lt;endl;<br />
Auslesen_Binaer_Maske(netzwerk.subnetzmaske);<br />
cout&lt;&lt;endl;<br />
AusgabeMaxHost(netzwerk);<br />
}</p>
<p>void main()<br />
{<br />
//IP Ip1;<br />
Netz netzwerk;<br />
int auswahl=0;<br />
do<br />
{<br />
Ausgabe_Menu();<br />
cout &lt;&lt;&quot;Bitte waehlen Sie aus: &quot;;<br />
cin &gt;&gt; auswahl;<br />
switch(auswahl)<br />
{<br />
case 1: //Binäre Umwandlung<br />
Einlesen(netzwerk.ip);<br />
Auslesen_Binaer_IP(netzwerk.ip);<br />
getchar();<br />
break;<br />
case 2: Einlesen(netzwerk.ip);<br />
netzwerk.klasse=IP_AdressKlasse(netzwerk.ip);<br />
cout&lt;&lt; netzwerk.klasse;<br />
getchar();<br />
//usw.<br />
break;<br />
case 3: //Neztmaske bestimmen<br />
Einlesen(netzwerk.ip);<br />
BerechneSubnetzmaske(netzwerk);<br />
getchar();<br />
break;<br />
case 4: //Anzahl der maxiamlen Hosts im Netzwerk bestimmen<br />
Einlesen(netzwerk.ip);<br />
cout&lt;&lt;BerechneMaxHost(netzwerk);<br />
getchar();<br />
break;<br />
case 5:<br />
Einlesen(netzwerk.ip);<br />
BerechneMaxHost(netzwerk);<br />
IP_AdressKlasse(netzwerk.ip);<br />
BerechneSubnetzmaske(netzwerk);<br />
AuslesenDatenstruktur(netzwerk);<br />
getchar();<br />
break;</p>
<p>case 6: //Subnetze bilden<br />
Einlesen(netzwerk.ip);<br />
BerechneMaxHost(netzwerk);<br />
IP_AdressKlasse(netzwerk.ip);<br />
AngabeAnzahlSubnetze(netzwerk);<br />
anzahl_entlehnterBits(netzwerk);<br />
BerechneErweiterteSubnetzmaske(netzwerk);<br />
AuslesenDatenstruktur(netzwerk);</p>
<p>getchar();<br />
break;</p>
<p>}<br />
clrscr();<br />
}<br />
while(auswahl != 0 );</p>
<p>getchar();</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285628</guid><dc:creator><![CDATA[Chaos5]]></dc:creator><pubDate>Tue, 15 May 2007 17:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:41:29 GMT]]></title><description><![CDATA[<p>Du weißt ja sicherlich, dass so manche Bits und Bytes im Arbeitsspeicher abgelegt werden. Dabei kann man von den Bits und Bytes nicht erkennen, was das jetzt für Daten sind. Nehmen wir mal einen Auszug aus dem Arbeitsspeicher: 0101011101010101010101. Da erkennt man ja nicht, ob das jetzt ein Bild ist, ein Text, eine Zahl, ein Videofilm oder ein Musikstück. Sicherlich, für einen Film oder Song sind diese paar Bits zu wenig, aber es könnte ja ein Auszug sein.</p>
<p>Deshalb &quot;weiß&quot; nur dein Compiler und du, was das für Daten sind.<br />
Wenn du sowas programmierst wie &quot;int x = 10&quot;, dann steht an einer gewissen Stelle im Arbeitsspeicher 0000000000001010. Wo die Stelle jetzt ist, merkt sich der Compiler. Was du jetzt damit machst, bleibt dir überlassen.<br />
Die Position, wo die Daten liegen, kannst du aber auch in einem Zeiger speichern. Also &quot;int* ZeigerAufX = &amp;x&quot;. Dann steht in der Variable, wo die Daten liegen.<br />
Soviel zu den Grundlagen über den Arbeitsspeicher.</p>
<p>Dann die Zeichen/Zeichenketten: Im ASCII-Standard wurde festgelegt, zu welcher Zahl welcher Buchstabe gehört. Also dass zu der 65 ein 'A' (großes A) gehört.<br />
Wenn du also im Arbeitsspeicher ein Byte 01000001 (binär für 65) hast und es ausgeben willst, weiß der Computer, dass er ein 'A' schreiben soll...</p>
<p>Jetzt kannst du an eine Stelle in den Arbeitsspeicher 0100000101000001010000010100000100000000 schreibst, kannst du das als vier hintereinander-liegende 'A's interpretieren, gefolgt von einem Byte mit dem Wert 0 (null). Bei Zeichenketten (=Strings) signalisiert ein Byte vom Wert 0 das Ende der Zeichenkette, die &quot;normalen&quot; Buchstaben, Zahlen und Sonderzeichen liegen im Wert von 32-127.<br />
So, und ein Zeiger auf die Stelle im Arbeitsspeicher ist dann ein Pointer (=Zeiger) auf einen String. Beziehungsweise nennt man den Zeiger auf die Zeichen selber einen String.</p>
<p>In std::string ist der Zeiger einfach in einer Klasse gekapselt. Also man sieht den Zeiger selber nicht, kann aber über Funktionen drauf zugreifen.<br />
Bei 'std::string MeinSatz = &quot;Katzen sind doof&quot;;' sucht sich die Klasse eine freie Stelle im Arbeitsspeicher, schreibt die Zeichen darein, am Schluss eine 0, und merkt sich einen Zeiger, der auf die Stelle zeigt.</p>
<p>So, hoffe hab keinen Unfug geschrieben, aber dann wird mich schon jemand korrigieren. Hoffe auch, dass es das war, was du wolltest... Habs jetzt auch nich nochmal durchgelesen, muss jetzt auch los einkaufen <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/1285634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285634</guid><dc:creator><![CDATA[BlaBlubb]]></dc:creator><pubDate>Tue, 15 May 2007 17:41:29 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:41:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Findest du das nicht etwas frech: Du verwendest keine Codde-Tags, also ist der Code leserlich. Du schreibst, dass es benotet wird, was darauf schließen lässt, dass du irgendwann mal nicht zugehört hast. Und vor allem stellst du keine konkrete Frage.</p>
<p>Was willst du wissen?</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285635</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 15 May 2007 17:41:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:50:48 GMT]]></title><description><![CDATA[<ul>
<li></li>
</ul>
<p>chrische5 schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Findest du das nicht etwas frech: Du verwendest keine Codde-Tags, also ist der Code leserlich. Du schreibst, dass es benotet wird, was darauf schließen lässt, dass du irgendwann mal nicht zugehört hast. Und vor allem stellst du keine konkrete Frage.</p>
<p>Was willst du wissen?</p>
<p>chrische</p>
</blockquote>
<ul>
<li></li>
</ul>
<p>Meine Frage Habe ich gaaaanz oben gestelle <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>Naja, unsere Lehrer hat nur Theorie im schnelldurchgang gemacht und aus seinen Powerpoint Präsentationen werd ich einfach nicht schlau.<br />
Also ich weiß einfach net, wie das alles zusammengehört, und wie ich es allein schreibe.</p>
<p>Habe zwar zuhaus uralte bücher *g stand 1990 (Programmieren mit C <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="😉"
    /> )<br />
Somit weiß ich auch schonmal was Funktionen sind und wie diese Programmiert werden. Jedoch hat bei Pointer und Strings mein Verständnis aufgehört...</p>
<p>PS.: Danke für die Erklärung was diese machen. <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/1285640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285640</guid><dc:creator><![CDATA[Chaos5]]></dc:creator><pubDate>Tue, 15 May 2007 17:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:54:49 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Chaos5 schrieb:</p>
<blockquote>
<ul>
<li></li>
</ul>
<p>chrische5 schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Findest du das nicht etwas frech: Du verwendest keine Codde-Tags, also ist der Code leserlich. Du schreibst, dass es benotet wird, was darauf schließen lässt, dass du irgendwann mal nicht zugehört hast. Und vor allem stellst du keine konkrete Frage.</p>
<p>Was willst du wissen?</p>
<p>chrische</p>
</blockquote>
<ul>
<li></li>
</ul>
<p>Meine Frage Habe ich gaaaanz oben gestelle <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>
</blockquote>
<p>Sorry, aber du solltest deine Fragen wirklich konkreter stellen und nicht verlangen, dass man alles erklärt.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285645</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 15 May 2007 17:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 17:58:58 GMT]]></title><description><![CDATA[<p>Naja, Verlangen tu ich nicht's.</p>
<p>Jedoch bin ich wohl wie jeder über jede Hilfe dankbar.</p>
<p>Naja, Fakt ist, ich weiß einfach nicht, wie ich nen Pointer in einem Programm unterbringe. Und diesen dann aufrufe.<br />
Werd mal schauen, was ich zusammen zaubern kann, um ein Beispielprogramm reinzustellen. Jedoch wird dies bei meinen Kenntnissen leider kein Hexenwerk...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285652</guid><dc:creator><![CDATA[Chaos5]]></dc:creator><pubDate>Tue, 15 May 2007 17:58:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 18:10:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Pointer sind bei C++ nafangs gar nicht so wichtig. Nutz nicht so sehr den Heap und verwende die Klassen aus der StandardLib und der STL. Dann hast mit Pointer erstmal nicht so viel zu tun. Du solltest dich aber mal mit Referenzen bekannt machen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285667</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 15 May 2007 18:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 18:16:41 GMT]]></title><description><![CDATA[<p>Kleines Beispiel für Pointer</p>
<p>#include &lt;iostream.h&gt;<br />
#include &lt;stdio.h&gt;</p>
<p>void main()<br />
{<br />
//Variablen deklarieren und zuweisen<br />
int GZ=1;<br />
double KZ=5.5;<br />
char Zeichen = 'a';</p>
<p>//Zeiger deklarieren<br />
int *Zeiger_GZ;<br />
double *Zeiger_KZ;<br />
char *Zeiger_Z;</p>
<p>//Variablenadressen den Zeigern zuweisen<br />
Zeiger_GZ=&amp;GZ;<br />
Zeiger_KZ=&amp;KZ;<br />
Zeiger_Z = &amp;Zeichen;</p>
<p>cout &lt;&lt; &quot;Adresse: &quot;&lt;&lt; Zeiger_GZ &lt;&lt; &quot; Inhalt: &quot; &lt;&lt; *Zeiger_GZ&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Adresse: &quot;&lt;&lt; Zeiger_KZ &lt;&lt; &quot; Inhalt: &quot; &lt;&lt; *Zeiger_KZ&lt;&lt;endl;<br />
printf(&quot;Adresse: %p Inhalt: %c &quot;,Zeiger_Z,*Zeiger_Z);</p>
<p>getchar();<br />
}</p>
<p>Naja, die Themen kann ich mir leider nicht aussuchen. Wobei ich auch nur noch 1 Jahr die Bank drücken muss und wohl nichts mehr mit Programmieren zu tun hab.<br />
Aber dass lass ich alles mal offen.</p>
<p>Ich weiß halt einfach nichts mit den Pointer anzufangen und so weiß ich auch nicht, wie ich sie am besten Unterbringe und erstelle.<br />
Wenn ich halt was net selbst schonmal gemacht hab schnall ich's net.<br />
So hab ich immer am liebsten ne Vorlage, wo ich's mal abschauen kann.<br />
Und dass kann man dann ja weiter führen <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/1285670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285670</guid><dc:creator><![CDATA[Chaos5]]></dc:creator><pubDate>Tue, 15 May 2007 18:16:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 18:49:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

void MitPointer( int *Zahl );
void MitReferenz( int &amp;Zahl );
void OhneAlles( int Zahl );

int main ( void )
{
	int MeineZahl = 0; // Die Zahl

	std::cout &lt;&lt; &quot;Mit Pointer: &quot;;
	MitPointer( &amp;MeineZahl ); // Adresse an Funktion übergeben: &amp; = Adressoperator
	std::cout &lt;&lt; MeineZahl &lt;&lt; std::endl;

	std::cout &lt;&lt; &quot;Mit Refrenz: &quot;; 
	MitReferenz( MeineZahl );
	std::cout &lt;&lt; MeineZahl &lt;&lt; std::endl;

	MeineZahl = 0; // Wieder zurücksetzen auf 0

	std::cout &lt;&lt; &quot;Ohne alles: &quot;;
	OhneAlles( MeineZahl );
	std::cout &lt;&lt; MeineZahl &lt;&lt; std::endl;

	return 0;
}

void MitPointer( int *Zahl )
{
	*Zahl = 100; // Auf Speicher zugreifen...
}

void MitReferenz( int &amp;Zahl ) // Dies ist KEIN Adressoperator, sondern eine Referenz
{
	Zahl = 200;

}

void OhneAlles( int Zahl )
{
	Zahl = 300;
}
</code></pre>
<p>Spiel damit mal rum. Ein Tipp: Ein Pointer zeigt auf einen Speicherbereich. Und zu Referenzen erkundigst du dich mal über Google oder stellst, falls du das nicht verstehst noch eine genau Frage dazu.</p>
<p>Gruß Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285708</guid><dc:creator><![CDATA[Dummie]]></dc:creator><pubDate>Tue, 15 May 2007 18:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und String&#x27;s bei Visual C++ 2005 on Tue, 15 May 2007 19:07:07 GMT]]></title><description><![CDATA[<p>Hey, das ist klasse. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285726</guid><dc:creator><![CDATA[Chaos5]]></dc:creator><pubDate>Tue, 15 May 2007 19:07:07 GMT</pubDate></item></channel></rss>