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