Programmierung in C++ --> new char() Problem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
christiankuehn
Beiträge: 79
Registriert: 19.08.2004 10:43:57
Kontaktdaten:

Programmierung in C++ --> new char() Problem

Beitrag von christiankuehn » 09.10.2005 19:48:41

Ich bin zurzeit dabei, mir ein kleines Hilfsprogramm zu schreiben. Nun hab ich ein Problem mit Zeigern:

Als Beispiel:

Code: Alles auswählen

char* test;
for (int i=0; i<10; i++)
{
     test = new char();
     cout << &test << endl;
}
Jetzt gibt mir mein Programm folgendes aus:

Code: Alles auswählen

0xbffac220
0xbffac220
0xbffac220
0xbffac220
0xbffac220
0xbffac220
0xbffac220
0xbffac220
0xbffac220
0xbffac220
Mein Ziel ist es aber, dass jedes Zeichen, welches mit new angelegt wurde, wirklich ein neues Zeichen ist mit einer neuen Adresse im Speicher.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 09.10.2005 19:57:33

das ist doch normal was da ausgegeben wird.. du gibst ja nicht den Inhalt des Zeigers aus (also die Adresse auf die er zeigen soll) sondern du gibst die Adresse des Zeigers selbst aus.. und die bleibt gleich da der ja nur einmal angelegt wurde..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

christiankuehn
Beiträge: 79
Registriert: 19.08.2004 10:43:57
Kontaktdaten:

Beitrag von christiankuehn » 10.10.2005 12:42:12

Und wie kann ich mir die Adresse des ersten Zeichens ausgeben lassen?

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 10.10.2005 14:01:19

christiankuehn hat geschrieben:Und wie kann ich mir die Adresse des ersten Zeichens ausgeben lassen?
Natürlich in dem du dir den Wert des Pointers anzeigen lässt:

Code: Alles auswählen

std::cout << test << std::endl;

Antworten