C: Was bedeutet char str[20]?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Gutschy, 3. Januar 2016 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 3. Januar 2016
    Hallo Leute,

    bin mal mit C angefangen. Hab schon einiges zu Python und VB/A gelesen und probiert. Ist jetzt auch hier mehr eine Frage zur Form.
    Code:
    /* suchmenge1.c */
    #include <stdio.h>
    
    int main(void) {
     char str[20];
     printf("Bitte geben Sie nur Zahlen ein: ");
     scanf("%[0-9]", str);
     printf("%s\n",str);
     return 0;
    }
    
    Die Zeile wo "char str[20];" steht, was soll mir 20 sagen. Ich sehe da nur eine Variable vom Typen char die str heisst. Ohne die 20 funkt. es schon mal nicht. Aha.

    Schon mal Danke für eure Hilfe.

    Gruss,

    gutschy
     

  2. Anzeige
  3. #2 3. Januar 2016
  4. #3 3. Januar 2016
    AW: C: Was bedeutet char str[20]?

    Hi Dimi,
    das mit dem Array war auch mein erster Gedanke, allerdings kann ich auf meinem PC 23 Ziffern übergeben, die dann wieder ausgegeben werden, übergebe ich mehr, z.B. 30 Ziffern, werden die auch wieder ausgegeben aber es kommt ein Speicherzugriffsfehler dazu. Das hatte mich gewundert und darum war ich mir nicht sicher was ich das vor mir habe. Gibt es einen Grund für dieses Verhalten?

    Gruss,

    Gutschy
     
  5. #4 3. Januar 2016
    AW: C: Was bedeutet char str[20]?

    Glück. Du forderst einen Speicher für 20 character an. Alles was hinter diesem Adressblock liegt, ist erstmal undefiniert. Und je nachdem wie die Sterne grad stehen hast du Glück und dein Programm läuft durch, oder halt nicht.
     
  6. #5 3. Januar 2016
    AW: C: Was bedeutet char str[20]?

    Aha.
    Habe ich dann hier schon einen so genannten Buffer Overflow?
     
  7. #6 3. Januar 2016
    AW: C: Was bedeutet char str[20]?

    genau
     
  8. #7 3. Januar 2016
    AW: C: Was bedeutet char str[20]?

    Na Geil, find ich witzig. Danke an Alle für die Hilfe.
     

  9. Videos zum Thema
Die Seite wird geladen...