SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

SOFTWARE
} Der Aufruf kann dann z. B. als Anweisung x = blabla(); erfolgen. Funktionen sind stets global: sie können nur außerhalb jeder anderen Funktion (einschließlich main()) definiert werden, und sind dann aus jeder Funktion (einschließlich derselbigen, siehe unten: Rekursion) aufrufbar. Funktionsdefinitionen lassen sich demnach in C nicht schachteln, sie werden alle auf einer "Ebene" definiert.

Die Definition einer Funktion wird syntaktisch beschreiben als:

Eine Funktion hat also einen festgelegten Aufbau (genauere Definition der ersten Zeile siehe unten):

                                       Typ Funktionsname(Parameterliste)
                                         {
                                           Vereinbarungen
                                           Anweisungen
                                           return (Funktionswert)     optional
                                         }
                                       
Die runden Klammern bei der Vereinbarung müssen stehen, damit Funktionsname zur Funktion wird. Die Parameterliste in den runden Klammern ist optional, d.h. sie muß nur vorhanden sein, wenn der Funktion wirklich Parameter übergeben werden. Andernfalls ist als Platzhalter void anzugeben. Die Parameterliste enthält sowohl die Namen als auch die Typdeklarationen der Parameter. Die Gesamtheit der Vereinbarungen und Anweisungen der Funktion selbst nennt man den Funktionskörper ("body"), er muß durch geschweifte Klammern eingeschlossen sein. Die return-Anweisung darf an beliebiger Stelle im Funktionskörper stehen, mit ihr erfolgt der Rücksprung in die aufrufende Funktion oder ins Hauptprogramm. Die return-Anweisung kann auch ganz fehlen, dann erfolgt der Rücksprung in die aufrufende Funktion beim Erreichen des Funktionsendes (der schließenden geschweiften Klammer um den Funktionkörper).
Der Funktionswert hinter der return-Anweisung wird meist in runde Klammern eingeschlossen. Dies ist aber nicht notwendig. Fehlt der Funktionswert, so wird an die aufrufende Funktion auch kein Wert zurückgegeben.

Ebenfalls erlaubt und bei älteren C-Programmen (nicht ANSI-C) häufig zu finden ist folgender Funktionsaufbau:

                                       Typ Funktionsname(optionale Parameternamen)
                                         Parameterdeklarationen
                                         {
                                           Vereinbarungen
                                           Anweisungen
                                           return (Funktionswert)  optional
                                         }
                                       
Die Parameternamen müssen alle in zugehörigen Parameterdeklarationen auftauchen.

Im Prinzip sieht ein C-Programm immer wie das folgende Beispiel aus:

                                       void main (void)
                                         {
                                         int x, y;
                                         ...
                                         blabla ();
                                         ...
                                         x = foobar(y);
                                         ...
                                         }
                                       
                                       void blabla (void)
                                         {
                                         ...
                                         }
                                       
                                       int foo ();
                                         {
                                         ...
                                         }
                                       
                                       int foobar (int x)
                                         {
                                         ...
                                         x = 10 * foo();
                                         ...
                                         }
                                       
Dabei ergibt sich ein Problem. In main() ist nälich noch gar nicht bekannt, welche Parameter die Funktionen blabla(), foo() und foobar() haben, welchen Typ die Parameter besitzen und welche Rückgabewert die Funktion hat. Die Funktionen werden ja erst unterhalb von main() definiert. Der C-Compiler nimmt dann int als Standardtyp an. Lösen läßt sich das Problem durch eine Vorwärts-Deklaration der Funktionen. Dabei werden nur Funktionsname und Parameter angegeben und die Angabe mit Strichpunkt abgeschlossen. Die Funktionsdefinition an anderer Stelle enthält dann auch den Code dazu. Zum Beispiel:
                                       void blabla (void);
                                       int foo ();
                                       int foobar(int x);
                                       
                                       void main (void)
                                         ...
                                       
                                         weiter wie oben
                                         ...
                                       
Das Syntaxdiagram für die Definition des Prototypen sieht so aus:

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere