Zeichenketten als char* statt char[] initialisieren



  • Hallo,

    ich sehe relativ häufig Zeichenketten, die nicht so

    char Kette[] = "Hallo"
    

    sondern so

    char *Kette = "Hallo"
    

    initialisiert werden.

    Gibt es da einen Unterschied, und wenn ja, worin besteht der Vorteil in der Verwendung der Pointer-Version?



  • char Kette1[] = "Hallo"; //char array
    //sondern so
    char *Kette2 = "Hallo"; //string konstante
    

    wie der name schon sagt, ist das 2. beispiel nicht veränderbar.

    Kette1[3] = 'x'; //str: Halxo
    *(Kette2+3) = 'x'; //geht nicht!
    

Anmelden zum Antworten