Moin, allerseits.
Nach ein paar Monaten bin auch ich endlich mal freigeschaltet.
Ich habe eine Frage bezüglich der Logik, die hinter den char pointern steckt.
Das Schlüsselwort new legt eine Variable auf dem heap und
gibt eine Adresse zu dieser zurück.
Ein Pointer auf eine Int nimmt diese Adresse zu der Int
auf. Zahl gibt nun die Adresse zu der Zahl zurück.
Will ich aber den Wert der Int, die der Pointer adressiert,
muss ich den * (wasauchimmer operator in diesem fall)
voransetzen.
Wie es sich bei den chars scheinbar abspielt, werde ich wohl nie verstehen!
Ich lasse eine char in den heap setzen und die Adresse dem Pointer
auf eine char zuweisen. Nun weise ich diesem Pointer auf die char eine
Zeichenkette zu. Und ja! Ich weise sie dem Pointer zu und nicht
der Varable auf dem heap, auf den dieser Pointer zeigt!
Hilfe! Ich brauche eine stabile Denkweise!
Nach ein paar Monaten bin auch ich endlich mal freigeschaltet.
Ich habe eine Frage bezüglich der Logik, die hinter den char pointern steckt.
Das Schlüsselwort new legt eine Variable auf dem heap und
gibt eine Adresse zu dieser zurück.
Ein Pointer auf eine Int nimmt diese Adresse zu der Int
auf. Zahl gibt nun die Adresse zu der Zahl zurück.
Will ich aber den Wert der Int, die der Pointer adressiert,
muss ich den * (wasauchimmer operator in diesem fall)
voransetzen.
Code:
#include <iostream>
using namespace std;
int main(int argc, char * argv[])
{
int * Zahl = new int;
*Zahl = 10;
cout << *Zahl << endl;
char * Wort = new char;
Wort = "hallo";
cout << Wort << endl;
char * Wort2 = "hallo2";
cout << Wort2 << endl;
system("PAUSE");
return 0;
}
Wie es sich bei den chars scheinbar abspielt, werde ich wohl nie verstehen!
Ich lasse eine char in den heap setzen und die Adresse dem Pointer
auf eine char zuweisen. Nun weise ich diesem Pointer auf die char eine
Zeichenkette zu. Und ja! Ich weise sie dem Pointer zu und nicht
der Varable auf dem heap, auf den dieser Pointer zeigt!
Hilfe! Ich brauche eine stabile Denkweise!