Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Unterschied Zeiger auf int und char 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
14.05.2021, 14:03 Uhr
momara



Hallo zusammen.

Ich bin Programmieranfänger und lernen momentan C/C++ und habe da ein kleines Verständnisproblem was Zeiger auf char Arrays angeht. Hier mal ein einfache Code um mein Problem zu verdeutlichen:


C++:
int main()
{
    int i[3] = { 1,2,3 };
    char Zeichenkette[] = "Hallo";

    cout << i << endl;
    cout << Zeichenkette << endl;
}



Wenn ich mir i ausgeben lasse, bekomme ich wie erwartet die Adresse meines ersten Elements meines int Arrays. Dies habe ich nun auch bei meinem char Array Zeichenkette erwartet, also die Adresse in der das Z gespeichert ist. Allerdngs bekomme ich dann als Ausgabe Hallo, also den gesamten Inhalt meines Arrays.

Warum ist das so? Was ändert sich bzgl. des Zeigers auf ein char Array?

Bin für jede Hilfe dankbar
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.05.2021, 15:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,

Zeichenketten (char-arrays) werden von cout speziell behandelt. wenn du nur das erste zeichen ausgeben willst, benutze Zeichenkette[0]

Nur am Rande: i als synonym für i[0] zu verwenden ist meiner Meinung nach in diesem Kontext schlechter Stil, da nicht trivial erkennbar was gemeint ist.
--
class God : public ChuckNorris { };
 
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: