Gültigkeitsbereich von Arrays????



  • Hie könnte mir jemand folgendes Programmbeispiel näher erklären?
    Komm da nicht so druch 😞

    /* array4.c */
    #include <stdio.h>
    #include <stdlib.h>
    
    int wert_global[5];
    
    int main(void)
    {
        static int wert_static[5];
        int wert_auto[5];
        int i;
    
        for(i = 0; i < 5; i++)
            printf("%d: \t%10d\t%10d\t%10d\n",
                i, wert_global[i], wert_static[i], wert_auto[i]);
        return EXIT_SUCCESS;
    }
    

    Vielen dank schonmal für Antworten 😉



  • Was soll man dir groß erklären, außer dass du die drei Arrays nicht initialisiert hast?



  • Vielleicht gerade, dass static und global automatisch initialisiert werden? 😃



  • Ach, verdammt 🤡



  • int wert_global[5]; /* Hier wird ne Variable initralisiert ne? */ 
    
    printf("%d: \t%10d\t%10d\t%10d\n",
                i, wert_global[i], wert_static[i], wert_auto[i]); /* Was wird hier gemacht? */
    


  • Hast du es mal ausprobiert?
    Wie schon geschrieben, werden globale und statische Arrays mit Nullen initialisiert, wert_auto dagegegen nicht.
    Durch printf erfolgt die Ausgabe, "%d" gibt an, dass ein Integer der variablen Argumentenliste von printf hinzugefügt wurde (liegt in der Verantwortung des Programmierers), '\t' fügt einen Tab zwischen den Ausgaben ein.



  • fgets (schluessel, 100, stdin);
             laesch=strlen(schluessel);
    

    liefert wie üblich bei Anfängereingabeabfragen undefiniertes Verhalten, je nachdem, ob '\n' noch reingepasst hat oder nicht.



  • Also war i-wie bissel schwer von begriff das listing war eig. ja vom Aufbau her ganz leicht -.-
    Aber folgendes wollte ich mal fragen:

    int wert_auto[5] = {0};
    

    So hier weis ich ja ne Vraiable vom Typ int wird initiialisiert aber was genau bedeutet die {0}?
    Also werden da alle Werte auf Nullgesetzt?

    i, wert_global[i], wert_static[i], wert_auto[i])
    

    Hier wird ja dann grad der Wert den i gerade in der SChleife besitzt in [] gesetzt ne?

    Sorry für die vielen Fragen,aber ich will ja verstehen was da abgeht in dem Programmm hehe^^



  • Hat sich geklärt closed 😉



  • GhostfaceChilla schrieb:

    closed 😉

    Und ich dachte immer, dass sowas semidemokratisch entschieden wird.


Log in to reply