Unterscheid von Funktionen



  • Ei gudde,

    kann mir einer verständlich den Untersched zwischen einer void-Funktion und einer normalen Funktion erklären?

    Gruß juniorcrew



  • juniorcrew schrieb:

    kann mir einer verständlich den Untersched zwischen einer void-Funktion und einer normalen Funktion erklären?

    ^^ ne void-funktion gibt nix zurück, ist also einfach nur ein unterprogramm.
    🙂



  • int save(int zahl)
     {
     printf("\neingegebene zahl %d", zahl);
     } 
    
    /***********************************************************/
    /*               Hauptprogramm                             */
    /***********************************************************/
    
    main()
    {
          int zahl;
          scanf("%d", &zahl);
          save(zahl);
    
          printf("\n\nZum beenden eine Taste druecken...");
          getch();
    }
    

    wie meinsate das? wenn ich das Unterpgroamm von int auf void ändere bekomme ich doch trotzdem die gleich ausgabe, wie vorher

    gruß juniorcrew



  • int save(int zahl)
    {
     printf("\neingegebene zahl %d", zahl);
    }
    

    sollte eigentlich einen integer zurück geben. zb

    int save(int zahl)
    {
     printf("\neingegebene zahl %d", zahl);
    return 1;
    }
    

    wenn eine Funktion nichts zurückgeben soll, dann verwende void



  • aber jedes UNterprogramm soll doch was machen.

    also per

    void test(int zahl)

    ist was anderes als

    void test(void)

    bzw.

    int test (void)

    ??? diese unterschiede verstehe ich nicht ganz

    juniorcrew



  • Du musst dir glaub ich noch mal den Aufbau einer Funktion klar machen

    grobe gesagt sieht eine Funktion folgender Maßen aus.

    Rückgabetyp nameDerFunktion(Paramaterliste)
    {
    //Inhalt der Funktion
    }

    bsp.

    int addiere(int summand1, int summand2)
    {
       int ergebnis;
       ergebnis = summand1 + summand2;
       return ergebnis;
    }
    

    hier hast du eine Funktion mit dem Rückgabetyp int (Ganzzahlen)
    dem Namen addieren und einer Parameterliste die 2 Variablen vom Typ integer erwartet. Mit der Zeile return Ergebnis, sagst du das die Funktion Ergebnis "nach außen" geben soll.

    nutzen kannst du das ganz dann so

    int meinErgebnis = addiere (1,2);
    

    meinErgebnis ist nun 3

    Solltest du als Rückgabetyp void angeben, dann sagst du das eben nichts zurückgeben wird



  • Danke ich glaube ich habe es kapiert :-9

    Gruß juniorcrew


Anmelden zum Antworten