Tom: C/C++; Zeigt Zeiger auf ein Array?

Beitrag lesen

Hello,

Dieser Code ist sehr konstruiert und theoretisch.

Die for-Schleife habe ich nur geschrieben weil die Variable c danach nicht mehr verfügbar ist.

mMn läuft die so auch gar nicht, da Du die Laufbedingung auf 'false' gesetzt hast.

Wird zwar eh auf 0 gesetzt, also die Eingabe ist weg, aber so wird es noch deutlicher.
Ich weis danach eben nicht was p1 und was p2 ist. (ob Array oder nicht)

Nur den Fall für c==1 betrachtet,
Ich vermute, dass Du folgendes erreichen wolltest:

p1 sollte danach eine Kopie des Pointers _p1 sein
  p2 sollte danach eine Kopie des Pointers _p2 sein

ABER, versuche mal:

int* a;
    char* z;

cout << "a*: " << a << endl;
    cout << "z*: " << z << endl;

und mach Dir Deinen Reim darauf.
C++ ist eben doch sehr geheimnisvoll chaotisch.

Ich habe versucht, das alles nachzuvollziehen. Brauche ja schließlich auch noch etwas Übung :-)
Was sollte denn eigentlich passieren? Vielleicht beschreibst Du mal, was Du vor hattest.

char* _p1 = new char;
 char* _p2 = new char[1024];

*_p2 = 'H';
 *(_p2+1) = 'a';
 *(_p2+2) = 'l';
 *(_p2+3) = 'l';
 *(_p2+4) = 'o';
 *(_p2+1000) = '\0';

cout << "_p2: " << _p2 << endl;
        cout << "_p2: " << *_p2 << endl;

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de