Funktionen
Die beste Weise, ein großes Programm zu entwickeln und beizubehalten ist, es von den kleineren Stücken zu konstruieren, von denen jedes einfacher zu handhaben sind (eine Technik, die manchmal als gekennzeichnet ist, sich teilen und erobern). Funktionen erlauben den Programmierer modularize das Programm.
Funktionen erlauben, daß schwierige Programme oben in kleine Blöcke, von denen jeder einfacher zu schreiben ist, lesen und beibehalten eingeteilt werden. Wir haben bereits das Funktion Haupt- und gebrauchte printf von der Standardbibliothek angetroffen. Wir können unsere eigenen Funktionen und Include-Dateien selbstverständlich bilden. Eine Funktion hat den folgenden Plan:
return-type function-name ( argument list if necessary )
{
local-declarations;
statements ;
return return-value;
}
Wenn Zurückbringenart ausgelassen wird, fällt C auf internem zurück. Der Zurückbringenwert muß von der erklärten Art sein. Alle Variablen, die innerhalb der Funktionen erklärt werden, werden lokale Variablen, dadurch genannt, daß sie nur in der Funktion bekannt, zu der sie definiert worden sind.
Einige Funktionen haben eine Parameterliste, die eine Kommunikation Methode zwischen der Funktion liefert, und das Modul, das die Funktion benannte. Die Parameter sind auch lokale Variablen, dadurch, daß sie nicht vorhandene Außenseite der Funktion sind. Alle Programme bedeckten bis jetzt haben Hauptleitung, die eine Funktion ist.
Eine Funktion kann eine Aufgabe einfach durchführen, ohne irgendeinen Wert zurückzubringen, in diesem Fall sie den folgenden Plan hat:
void function-name ( argument list if necessary )
{
local-declarations ;
statements;
}
Argumente werden immer durch Wert in den C Funktion Anrufen geführt. Dies heißt, daß lokale Kopien der Werte der Argumente zu den Programmen geführt werden. Jede mögliche änderung, die an den Argumenten innerlich in der Funktion vorgenommen wird, wird nur an den lokalen Kopien der Argumente vorgenommen.
Um ein Argument in der Argumentliste zu ändern oder zu definieren, muß dieses Argument als Adresse geführt werden. Du verwendest regelmäßige Variablen, wenn die Funktion nicht die Werte jener Argumente ändert. Du MUSST Zeiger benutzen, wenn die Funktion die Werte jener Argumente ändert.
Uns mit Beispielen erlernen lassen:
#include <stdio.h>
void exchange ( int *a, int *b )
{
int temp;
temp = *a;
*a = *b;
*b = temp;
printf(" From function exchange: ");
printf("a = %d, b = %d\n", *a, *b);
}
void main()
{
int a, b;
a = 5;
b = 7;
printf("From main: a = %d, b = %d\n", a, b);
exchange(&a, &b);
printf("Back in main: ");
printf("a = %d, b = %d\n", a, b);
}
Und der Ausgang dieses Programms wird angezeigt, wie folgt:
From main: a = 5, b = 7
From function exchange: a = 7, b = 5
Back in main: a = 7, b = 5 |
|