 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
HotAcid Super JLI'ler

Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 29.03.2003, 16:21 Titel: Zeiger, Konstanten und konstante Zeiger |
|
|
Moin!
bin mir nicht ganz sicher, ob ich das mit Zeigern und Konstanten ganz verstanden habe, hier mal ein paar Beispielzeilen (ja, die sind aus dem Stroustup):
Code: | char s[] = "Gorm";
// 1. Variante
const char* pc = s;
pc[3] = 'g'; // Fehler
pc = p;
// 2. Variante
char *const cp = s;
cp[3] = 'a';
cp = p; // Fehler
// 3. Variante
const char *const cpc = s;
cpc[3] = 'a'; // Fehler
cpc = p; // Fehler
|
Wenn ich das richtig verstanden habe, gilt dann jeweils folgendes:
Variante 1) Ein veränderbarer Zeiger, der auf eine Konstante zeigt, aber der auch einer anderen Konstante zugewiesen werden darf
Variante 2) Hier ist der Zeiger selbst konstant, zeigt also immer auf dieselbe (veränderliche Variable)
Variante 3) ein konstanter Zeiger, der auf eine Konstante zeigt (nichts veränderlich)
dürfte doch so richtig sein, oder?
cu Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 29.03.2003, 16:42 Titel: |
|
|
Im Prinzip ist das schon richtig. s ist jedoch keine Konstante. Nur dadurch, dass du den Zeiger const deklarierst, sagst du dem Compiler, dass s durch den Zeiger nicht verändert werden kann. s kann ja sehr wohl verändert werden.
Christian |
|
Nach oben |
|
 |
HotAcid Super JLI'ler

Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 29.03.2003, 16:46 Titel: |
|
|
aha, vielen dank! _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|