Das Format der C-Sprachfunktionsdeklaration besteht aus dem Entfernen des Funktionskörpers in der Funktionsdefinition und dem Hinzufügen eines Semikolons. Der Zweck besteht darin, zu verhindern, dass das Programm die Funktion verwendet, bevor die Funktion undefiniert ist, was dazu führt, dass das Programm verwendet wird einen Fehler melden.
Der C-Sprachcode wird grundsätzlich von oben nach unten ausgeführt, die Funktionsdefinition sollte vor dem Funktionsaufruf erscheinen, andernfalls wird ein Fehler gemeldet. In der tatsächlichen Entwicklung werden sie jedoch häufig verwendet, bevor die Funktion definiert wird, und in diesem Fall müssen sie im Voraus deklariert werden. Als nächstes werden wir in diesem Artikel das Wissen über die Funktionsdeklaration im Detail vorstellen, was hoffentlich für alle hilfreich sein wird.
[Empfohlene Kurse: C-Sprach-Tutorial]
Funktionsdeklaration
So -genannte Deklaration soll dem Compiler mitteilen, dass ich diese Funktion verwenden werde. Es spielt keine Rolle, ob ihre Definition jetzt nicht gefunden wird, aber bitte melden Sie keinen Fehler und die Definition wird später hinzugefügt.
Das Format der Funktionsdeklaration ist sehr einfach, was dem Entfernen des Funktionskörpers in der Funktionsdefinition und dem Hinzufügen eines Semikolons entspricht, wie unten gezeigt:
返回值类型 函数名( 类型 形参, 类型 形参… );
Sie können auch keine formalen Parameter schreiben, sondern nur der Datentyp:
返回值类型 函数名( 类型, 类型…);
Die Funktionsdeklaration gibt den Funktionsnamen, den Rückgabewerttyp, die Parameterliste (Parametertyp) und andere Informationen im Zusammenhang mit der Funktion an, die als Funktionsprototyp (Funktionsprototyp) bezeichnet wird.
Der Funktionsprototyp soll dem Compiler Informationen zur Funktion mitteilen, sodass der Compiler die Existenz der Funktion und ihre vorhandene Form kennt. Auch wenn die Funktion nicht vorübergehend definiert ist, weiß der Compiler, wie sie verwendet wird.
Mit der Funktionsdeklaration kann die Funktionsdefinition überall erscheinen, sogar in anderen Dateien, statischen Linkbibliotheken, dynamischen Linkbibliotheken usw.
Beispiel:
#include <stdio.h> // 函数声明 long factorial(int n); //也可以写作 long factorial(int); long sum(long n); //也可以写作 long sum(long); int main(){ printf("1!+2!+...+9!+10! = %ld\n", sum(10));return 0; } //求阶乘 long factorial(int n) { int i; long result=1; for(i=1; i<=n; i++){ result *= i; } return result; } // 求累加的和 long sum(long n) {int i; long result = 0; for(i=1; i<=n; i++) { //嵌套调用 result += factorial(i); } return result; }
Das laufende Ergebnis ist: 1!+2!+...+9!+10! = 4037913
Wir Wenn Sie printf (), puts (), scanf (), getchar () und andere Funktionen verwenden, müssen Sie die Header-Datei stdio.h einführen. Viele Anfänger denken, dass stdio.h die Funktionsdefinition (dh die Funktion) enthält Körper). Solange vorhanden ist Das Header-Dateiprogramm kann ausgeführt werden. Tatsächlich ist dies nicht der Fall. Die Header-Datei enthält Funktionsdeklarationen, keine Funktionsdefinitionen. Wenn nur eine Header-Datei ohne Systembibliothek vorhanden ist, wird beim Verknüpfen ein Fehler gemeldet. und das Programm wird überhaupt nicht ausgeführt.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein.
Das obige ist der detaillierte Inhalt vonSo verstehen Sie die Funktionsdeklaration in der C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!