Heim  >  Artikel  >  Backend-Entwicklung  >  Welchen Zweck haben Funktionsprototypen in C/C++?

Welchen Zweck haben Funktionsprototypen in C/C++?

WBOY
WBOYnach vorne
2023-09-12 22:33:03820Durchsuche

Welchen Zweck haben Funktionsprototypen in C/C++?

Hier erfahren Sie, welchen Zweck die Verwendung von Funktionsprototypen in C oder C++ hat. Der Funktionsprototyp wird verwendet, um dem Compiler die Anzahl der Parameter und die für die Funktionsparameter erforderlichen Datentypen mitzuteilen. Außerdem teilt er dem Compiler den Rückgabetyp der Funktion mit. Basierend auf diesen Informationen prüft der Compiler die Funktionssignatur, bevor er die Funktion aufruft. Wenn der Funktionsprototyp nicht erwähnt wird, kann es sein, dass das Programm mit einigen Warnungen kompiliert wird und manchmal eine seltsame Ausgabe erzeugt.

Probleme können auftreten, wenn eine Funktion irgendwo aufgerufen wird, ihr Körper jedoch noch nicht definiert ist, sondern nach der aktuellen Zeile definiert wird. Der Compiler kann die Funktion und ihre Signatur nicht finden. In diesem Fall benötigen wir Funktionsprototypen. Wenn die Funktion bereits definiert wurde, benötigen wir keinen Prototyp.

Beispielcode

#include<stdio.h>
main() {
   function(50);
}
void function(int x) {
   printf("The value of x is: %d", x);
}

Ausgabe

The value of x is: 50

Dies zeigt die Ausgabe, zeigt aber einige Warnungen an, wie unten gezeigt:

[Warning] conflicting types for &#39;function&#39;
[Note] previous implicit declaration of &#39;function&#39; was here

Mit dem Funktionsprototyp wird es jetzt problemlos ausgeführt.

Beispielcode

#include<stdio.h>
void function(int); //prototype
main() {
   function(50);
}
void function(int x) {
   printf("The value of x is: %d", x);
}

Ausgabe

The value of x is: 50

Das obige ist der detaillierte Inhalt vonWelchen Zweck haben Funktionsprototypen in C/C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen