Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C Grundkurs

Zeiger als Funktionsparameter

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Bei Funktionsaufrufen kann man auch Zeiger als Parameter übergeben. Man nennt das "Call by Reference".
04:16

Transkript

In diesem Video wollen wir uns mit der Übergabe von Zeigern an Funktionen beschäftigen. Das heißt, die Parameter von einer Funktion sollen Zeiger sein, oder zumindest einer davon. Ich habe jetzt hier eine Funktion vorbereitet, die grundsätzlich alle Parameter als Zeiger deklariert hat. Das heißt, Sie sehen ganz konventionell die Deklaration eines Zeigers - Z1, als ersten Parameter eines Zeigers. Z 2 als zweiten. ERG als dritten Und OP als vierten. Dreimal Typ INT, einmal Typ CHARACTER. Und innerhalb von dieser Funktion entscheide ich aufgrund des vierten Parameters, was für eine Art von Berechnung ich durchführe. Ich möchte Addition, Multiplikation, Division und Subtraktion haben. - ganz klassische Grundrechenarten. Nun beachten Sie, dass ich im Inneren der Funktion hier wieder mit dem Stern-Operator arbeite. Das heißt, ich greife damit innerhalb der Funktion auf die Werte zu, die von diesen Zeigern repräsentiert werden. Damit kann ich in der Funktion konventionell dann rechnen, so als würde ich mir normal die Werte übergeben bekommen. In der Main Funktion deklariere ich verschiedene Variablen. Zwei davon werden mit Werten initialisiert. Die sollen berechnet werden. Das ist ein Zeichen, dass die Art der Operation beschreibt. A für Addition. Und das wird die Variable sein, in der das Ergebnis der Rechenoperation zu finden ist. Sie sehen als Datentyp hier gibt es das Schlüsselwort VOID. VOID steht dafür, dass diese Funktion keinen Rückgabewert liefert. Trotzdem bekomme ich das Ergebnis, weil ich hier einen Pointer auf dieser Variable habe. Das sehen Sie hier. Denn beim Aufruf der Funktionen sehen Sie den UND-Operator. Das bedeutet, es wird immer nur die Adresse von dieser Variable in der Main Funktion übergeben. Insbesondere auch von der Variable, in der das Ergebnis der Operation nachher stehen soll. Man redet in diesem Zusammenhang von einem CALL-BY-REFERENCE. Wenn man also hier Zeiger notiert, übergibt man nur die Referenz auf eine Variable und dem entsprechend kann man innerhalb dieser Funktion auch diese in einer anderen Funktion, oder auch global irgendwo anders deklarierten Variablen verändern. Man übergibt nur die Referenz auf diese Variablen. Man macht keine Kopie davon. Das Gegenteil von CALL-BY-REFERENCE nennt man übrigens CALL-BY-VALUE. Beachten Sie also, dass ich hier mit diesem UND-Operator dann diese Referenz übergebe. Im Inneren der Funktion aber mit dem Stern-Operator den Wert haben möchte, der hier vorne referenziert wird. Wir lassen das einmal laufen. Und Sie sehen, dass die Zahlen 6 und 7 hier addiert und hier multipliziert werden. Der Wechsel findet dadurch statt, dass ich mit der Operation A beginne. A für Addition. Dann hier den Wert dieser Variablen auf M ändere und dann die Funktion RECHNE noch einmal mit den Zeigern auf die Variablen als Übergabewerte aufrufe und dem entsprechend dann die Multiplikation durchführe und sich durch die Referenz auf die Variable ERG, der Wert dieser Variablen dort geändert hat. Wir haben also gesehen, dass man auch bei Funktions-Parametern durchaus Zeiger übergeben kann. Das System CALL-BY-REFERENZ wird sehr gerne benutzt und hat die gleichen Vorteile, die Zeiger auch so in der direkten Verwendung haben. Es ist sehr Ressourcen-schonend. Es ist sehr schnell.

C Grundkurs

Lernen Sie das Syntaxkonzept von C von Grund auf kennen vor und sehen Sie, wie mit einer geeigneten Entwicklungsumgebung Programme Schritt für Schritt entstehen.

4 Std. 36 min (70 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!