Kurt Mustermann Geschrieben 15. Juni 2002 Geschrieben 15. Juni 2002 Hallo an alle ! Ich hätte da mal eine grundlegende Frage. Ich fange gerade erst mit C an, und ich finde daß für Anfänger die Bücher schon etwas schwer verständlich sind. Vielleicht könnt ihr mir ja helfen. :confused: Das wäre super! :OD OK, hier meine Frage: 1. Was bedeutet eigentlich void genau? Beschreibung Das Schlüsselwort void bezeichnet den Typ des Rückgabewerts von Funktionen, die keinen Wert zurückliefern. Könnte mir das einer mal verständlich erklären? Was heißt Rüchgabewert? Und, warum keinen Wert zurückliefern? Manchmal beginnt ein Prg mit main(), manchmal mit int main() oder void main() Wo besteht der Unterschied? Oder zum Beispiel beim Quicksort Algorithmus: public void quick(elementType x[], int left, int right) { int i=left, j=right; .... usw Was bedeutet das return 0 ? Oft ließt man in Programmen am Ende noch return 0. Wofür steht das ? Zitieren
themaster Geschrieben 15. Juni 2002 Geschrieben 15. Juni 2002 void ist ein Datentyp wie int oder char. Aber void ist ein Datentyp ohne Inhalt. Er heisst soviel wie "NICHTS". Also ein Art Dummydatentyp, er eingesetzt wird bei Zeigern, wenn der eigentliche Datentyp nicht bekannt oder nicht von Belang ist. Oder wie in deinem Beispiel als Rückgabedatentyp einer Funktion nicht Nichts (also void) zurückliefert. Mit einem Rückgabewert kann man einer aufrufenden Funktion z.B. das Ergebnis einer Funktion mitteilen z.B. int iSumme = addiere(10,20); Genau dafür ist auch "return" da. In dem Beispiel würde in der Funktion "addiere" eine Anweisung return stehen die die Summe zurückliefert. Zu void main() und int main(): Das einzig wirklich korrekte in C ist int main(). Dabei würde die Rückgabe von 0 (return 0) bedeuten, dass das Programm erfolgreich abgeschlossen wurde. Bei einigen Compilern funktioniert void main(), aber es ist nicht wirklich korrekt. Hoffe, dass ich ein bißchen helfen konnte. Zitieren
Orffi Geschrieben 15. Juni 2002 Geschrieben 15. Juni 2002 int main () oder int main (void) ist korrekt in C und C++. main() oder main (void) ist in C korrekt, allerdings nur dort (ANSI-Standard); bei C99 und C++ ist dies nicht zulässig. Richtig schön sind die beiden letzten Varianten (ohne int) sowieso nicht (schlechter Stil) und man sollte die ersten beiden Varianten verwenden, die auch in C++ und C99 zulässig sind. Zu void: void kann man sich als einen Datentyp vorstellen, dessen Wertemenge leer ist. Wie themaster schon meinte, benutzt man void, wenn eine Funktion keinen Wert zurückliefert (in Pascal wäre es eine Prozedur). Wenn Du eine Funktion schreiben würdest, die einen Text ausgibt, möchtest Du ja nicht unbedingt einen Rückgabewert haben. (Beachte: printf liefert int zurück) Zu public: public ist kein C! public bedeutet in C++, daß man auf eine Funktion "von außen" zugreifen kann. Es gibt public, private und protected. Wenn man eine Klasse programmiert, möchte man nicht, daß Variablen direkt verändert werden können, weil die Werte zum Beispiel nur einen bestimmten Wertebereich liegen sollen. Dann würde man die Variablen als private deklarieren. Man kann also nicht von außen auf die Variablen zugreifen, sondern nur das Objekt selbst kann die Werte verändern. Um sie zu verändern braucht man nun eine Funktion, die sollte public sein, damit sie auch von außen aufgerufen werden kann. In dieser Funktion kann man nun testen, ob der Wert für die Variable ein gültiger ist. Wenn dem so ist, kann man die Variable in der Funktion mit einem neuen Wert belegen. Wenn man Klassenhierachien (führt jetzt viel zu weg vom Thema) hat, dann benötigt man (wenn man dann will) protected. return: Mit return springt man aus einer Funktion zurück zur aufrufenden Funktion. Wenn man return x schreibt, wird der Wert x zurückgegeben. x muß den gleichen Datentyp haben, wie der Datentyp, der als Rückgabetyp bei der Funktion angegeben wurde. HTH Jan Zitieren
Alrik Fassbauer Geschrieben 15. Juni 2002 Geschrieben 15. Juni 2002 Man findet gelegentlich auch in der "Trivialliteratur" den Ausdruck "the Void", womit schlichtweg "das Nichts" gemeint ist. Inwieweit da Bedeutungsunterschiede zu Nil, Nothing, usw. herrschen, kann ich nicht beurteilen. Vermutlich wird es da feine Abstufungen geben bzw. verschiedene Bereiche der Anwendung, sonst gäbe es nicht meherere (von der Bedeutung her) sehr ähnliche Wörter. Mein Traum ist es, im Silicon Valley mit einem T-Shirt rumzulaufen, auf dem steht: "I am void." Zitieren
Technician Geschrieben 17. Juni 2002 Geschrieben 17. Juni 2002 über die void main - Geschichte wurde hier irgendwann schon mal heftigst diskutiert *grübel* ich find's leider nicht Zitieren
Manne Geschrieben 17. Juni 2002 Geschrieben 17. Juni 2002 @Technician Hier findest du den von Dir gesuchten Thread. Manne :cool: Zitieren
Kurt Mustermann Geschrieben 18. Juni 2002 Autor Geschrieben 18. Juni 2002 Ich danke euch ! Ich finde es cool das man hier gute Antworten bekommt. Thx Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.