Weitere wichtige Gesichtspunkte bei der professionellen Programmierung sind Performance und Ressourcen. Die Performance eines Programms ist die Schnelligkeit, es sollte also darauf geachtet werden, nur die nötigsten Aktionen auszuführen. Weiter sollte ein Programm auch nur die nötigsten Ressourcen in Anspruch nehmen. Mehr Ressourcen gehen auch wieder zu Lasten der Performance. Bei der Einsparung von Ressourcen geht es meist darum, den benötigten Speicherbedarf (RAM) zu reduzieren. Speicher wird z.B. für jede deklarierte Variable oder verschachtelte Funktionsaufrufe belegt.
Nehmen wir unser vorheriges Beispiel zur Hand. Wir sehen hier nun eine modifizierte Version. Hier wurden alle Variablen im Hauptprogramm eingespart – die Unterfunktionen sind unverändert.
// Multiplikations-Rechner / Ressourcen sparen / v0.2 #include<stdio.h> float eingabeZahl() { float eingabe; printf("\nEingabe Zahl: "); scanf("%f", &eingabe); return eingabe; } float multipliziere(float zahl1, float zahl2) { return (zahl1 * zahl2); } void ausgabeErgebnis(float ergebnis) { printf("\nErgebnis: %f\n", ergebnis); } int main() { // Rechenvorgang ausgabeErgebnis(multipliziere(eingabeZahl(), eingabeZahl())); return 0; }
Vorherige Hauptfunktion:
int main() { float faktor1, faktor2, ergebnis; // Eingabe faktor1 = eingabeZahl(); faktor2 = eingabeZahl(); // Verarbeitung ergebnis = multipliziere(faktor1, faktor2); // Ausgabe ausgabeErgebnis(ergebnis); return 0; }
Wir sehen also, dass Rückgabewerte von Funktion nicht in Variablen zwischengespeichert werden müssen, sondern direkt als Parameter für weitere Funktionen überliefert werden können.
Zum Einen senken wir dadurch den Speicherbedarf, zum Anderen reduzieren wir die Programmzeilen im Hauptprogramm auf eine Zeile. Diese Vorgehensweise sollte man aber nicht übertreiben, da sonst die Übersichtlichkeit darunter leidet.