Erklärung

Funktionsprototypen beschreiben in Programmiersprachen wie C und C++ (letzteres ist Basis der Arduino-Programmiersprache) die Deklaration einer Funktion im Kopf eines Programmes/Sketches, wobei erst später die eigentliche Funktion implementiert wird. Dies kann dann folgendermaßen aussehen:
int myFunction(int var1);

Im späteren Programmcode wird daraufhin die eigentliche Funktion implementiert, wie es bereits in der Lektion 9. gezeigt wurde.

Diese Umsetzung des Prototyping ist vor allem wichtig, wenn man sehr lange Sketches bzw. Programme schreibt, wobei der Compiler manchmal sehr spät definierte Funktionen "übersehen" kann und diese somit nicht erfasst. Ebenfalls kann schneller geprüft werden, ob die Übergebenen Funktionsparameter übergeben wurden. 

Beispiel

Wie man hier sieht, wird die Funktion namentlich bereits in Zeile 1 definiert, jedoch erst später implementiert.

int multiplyFunction(int summand1, int summand2);

void setup() 
{
  Serial.begin(115200);
}

void loop()
{
  Serial.println(multiplyFunction(1,1));    //Nutzung der Funktion direkt in print-Funktion
  int multiply = multiplyFunction(5,6);     //Festlegung einer Variable mithilfe der Funktion
  Serial.println(multiply);
  printDots();
}

int multiplyFunction(int summand1, int summand2)  //Im Kopf der Funktion werden die lokalen Variablen
{                                                 //der Funktion definiert
  int result;
  result = summand1 * summand2;         //Eigentliche Rechnung der Funktion
  return result;                        //Return gibt den Wiedergabewert einer Funktion an
}

void printDots()  //ähnlich wie die loop oder setup Funktion ist printDots() eine void-Funktion
{                 //also eine "leere" Funktion ohne Rückgabewert, da man diesen nicht immer benötigt
  Serial.println("..................................")  //z.B. wenn man nur etwas ausgeben möchte
}

Anmerkung

Wichtig ist anzumerken, dass sich der Begriff des Funktionsprototyping vom Klassischem Prototyping abhebt, da letzteres lediglich das erstellen eines funktionellen Prototypen erklärt.


Zuletzt geändert: Donnerstag, 18. Februar 2021, 10:30