Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Verständnis-Problem mit Zeigern auf Arrays

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.10.2014, 16:29 Uhr
~Binary
Gast


Hallo zusammen,

ich bin relativ unerfahren in c++ und übe mich gerade mit den ersten Schritten im Gebiet der Zeiger.

In meiner Lektüre habe ich gelernt, dass man Zeiger auf mehrere Arten initialisieren kann:

Code:
char var = 'a';
char* ptr;
ptr = &var;

// --- Alternative ---
char var = 'a';
char* ptr = &var;



Was ich nicht verstehe, ist die Initialisierung bei einem Array:

Code:
char var[] = {'a', 'b', 'c'};
char* ptr = var;    // <--- warum hier nicht &var ???


Wieso funktioniert das so? Ich dachte, man muss dem Zeiger eine Speicheradresse zuweisen... so zeigt er doch auf eine Adresse mit dem Namen 'a', die es logischerweise nicht gibt, oder habe ich da was falsch verstanden?

Über einen Tipp wäre ich sehr dankbar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.10.2014, 00:30 Uhr
Hans
Library Walker
(Operator)


Hi,

das funktioniert deshalb, weil der Arrayname, also var, in diesem Fall intern schon ein Zeiger ist, genauer die Adresse des ersten Elementes von var.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: