Hi Ho Leute,
bin seid Neustem am C++ lernen und hab direkt mal ne Frage zu den Zeigern, da das aus dem Buch, das ich mir angelegt habe, nicht klar wird.
Nebeninfo: Java kann ich, somit würd ich auch das "hochgestochene Latinum" verstehen ;-)
Folgender Code-Fragment:
In der 1. Zeile deklariere ich einen Char-Array und Initialisieren dieses mit dem String "Programmierung"...
In der 2. Zeile deklariere ich nur einen Char-Arrayzeiger mit der Länge der szTmp + 1 als Größe...
In der 3. Zeile kopiere ich den Wert des kompletten Array szTmp in den Array szText?
Hier scheitert mein logisches Denken... Ich dachte eigentlich man müsste strcpy(szText, &szTmp) oder strcpy(*strText, szTmp) schreiben, weil entweder nutz ich mein szText als PointerArray oder ich nutze es als Zeiger auf einen Speicherbereich, um ihn dort abzuspeichern, den gegebenen Wert.
Kann mir dies jemand veranschaulicht erklären? Weil dieses Problem hat man bei Java nicht, da die ganze Zeigergeschichte im Hintergrund selbstgemanaged wird.
Höhstens bei den Objekten darf ich da bisschen Zeiger-technisch spielen, obwohl, da auch es sehr simplex strukturiert ist...
Nur bei C++ verliere ich da bissl den Überblick.
Würde mich sehr freuen, wenn mir jemand das erklären könnte...
Greetz
Euer HCWD^^
bin seid Neustem am C++ lernen und hab direkt mal ne Frage zu den Zeigern, da das aus dem Buch, das ich mir angelegt habe, nicht klar wird.
Nebeninfo: Java kann ich, somit würd ich auch das "hochgestochene Latinum" verstehen ;-)
Folgender Code-Fragment:
Code:
char szTmp[] = "Programmierung";
char *szText = new char[strlen(szTmp)+1];
strcpy(szText, szTmp);
printf(szTmp);
In der 1. Zeile deklariere ich einen Char-Array und Initialisieren dieses mit dem String "Programmierung"...
In der 2. Zeile deklariere ich nur einen Char-Arrayzeiger mit der Länge der szTmp + 1 als Größe...
In der 3. Zeile kopiere ich den Wert des kompletten Array szTmp in den Array szText?
Hier scheitert mein logisches Denken... Ich dachte eigentlich man müsste strcpy(szText, &szTmp) oder strcpy(*strText, szTmp) schreiben, weil entweder nutz ich mein szText als PointerArray oder ich nutze es als Zeiger auf einen Speicherbereich, um ihn dort abzuspeichern, den gegebenen Wert.
Kann mir dies jemand veranschaulicht erklären? Weil dieses Problem hat man bei Java nicht, da die ganze Zeigergeschichte im Hintergrund selbstgemanaged wird.
Höhstens bei den Objekten darf ich da bisschen Zeiger-technisch spielen, obwohl, da auch es sehr simplex strukturiert ist...
Nur bei C++ verliere ich da bissl den Überblick.
Würde mich sehr freuen, wenn mir jemand das erklären könnte...
Greetz
Euer HCWD^^