typedef und strings



  • hallo,

    habe schon wieder ein Verständnisproblem mit C.

    #include <stdio.h>
    int main() 
    {  typedef char Y[4]; 
       Y strY;
       strY="abc";        // hier kommt der Fehler   
       printf("%s",strY);   
       return 0;
    }
    

    Hier bekomme ich seltsamerweise folgenden Fehler:

    incompatible types in assignment

    Wieso?

    Folgender Code funktioniert:

    #include <stdio.h>
    int main() 
    {  typedef char Y[4]; 
       Y strY="abc";       
       printf("%s",strY);   
       return 0;
    }
    


  • Du kannst im nachhinein einem C-String keine Zeichenkette zuweisen, nur beim initialisieren geht das.
    Mit strcpy kannst Du eine neue Zeichenkette reinschreiben.



  • So funktioniert es. Danke 🙂


Anmelden zum Antworten