Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » array

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
07.10.2007, 22:22 Uhr
~blurry333
Gast


Hallo !!

Ich habe eine Frage zum array.
z.b.

int a[4]={3,9,12,16};

a ist doch jetzt ein Zeiger der auf das 1.Element des array zeigt.

(1) cout<<a; //Speicheradresse des 1.Element da ja a ein Zeiger ist und Adressen speichert

(2) cout<<&a // Speicheradresse des Zeigers.

Wieso bekomme ich jetzt dieselbe Adresse?? Wie kann das sein ??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.10.2007, 23:10 Uhr
0xdeadbeef
Gott
(Operator)


a ist kein Zeiger, sondern ein Array. Mit sizeof(a) wirst du feststellen, dass es deutlich größer als ein Zeiger ist. &a ist dann die Adresse des Arrays, also der Zeiger auf den Stackbereich, auf dem es liegt.

Dass cout << a; funktioniert, liegt daran, dass das array implizit in einen Zeiger konvertibel ist.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.10.2007, 14:19 Uhr
~blurry333
Gast


Danke erstmal

Noch eine Frage.also..

char a[6]={"Meier"};

cout<<&a<<endl; // Adresse von a
cout<<&a[0]<<endl; // Ausgabe "Meier"
cout<<&a[1]; //Ausgabe "eier"


Wieso bekomm ich jetzt nicht die Adresse vom 1.Element ??
Warum gibt er "Meier " aus ??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.10.2007, 15:42 Uhr
0xdeadbeef
Gott
(Operator)


Weil char* hier aus Gründen der Rückwärtskompatibilität zu C als String interpretiert wird. Wenn du die Adresse willst, musst du &a[1] explizit nach void* casten.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
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: