Was ist das hier?

  • Eine Plattform von Flensburger Studenten für Flensburger Studenten
  • Ein Wiki zum Sammeln von Wissen
  • Ein Forum zum Austausch
  • Eine Wissensdatenbank zum Informatikstudium:
    • Programmieren in C, C#, PHP, Javascript, HTML, CSS
    • Datenbanken und Abfragen mit SQL
    • 2D / 3D - Gestaltung
    • Mathe, Physik, Gerätetechnik, RoBs
    • Audio- / Videotechnik
    • ...und vieles mehr

Anmelden

Warum registrieren?

Weil besser als gut!

 

Zusammenfassung V6

zurück zu Vorlesung 5

Globale Variable

  • dürfen (wenn nicht anders angegeben) in Prog1 nicht verwendet werden, da sie zu Seiteneffekten führen (können) !!!
  • Seiteneffekte machen ein Programm unübersichtlich und führen leicht zu Fehlern.

Storage Class

Temporäre oder Auto-Variable

  • Autovariable werden nur für die Ausführungszeit des entsprechenden Programmblocks in einem speziellen Bereich des Speichers, dem Stack angelegt; sie existieren zwischenzeitlich nicht im Speicher!
  • In C/C++ werden lokale Variable defaultmäßig als Autovariable angelegt;
  • Die Initialisierung von Autovariablen geschieht bei jeder Ausführung des entsprechenden Unterprogramms;

Permanente Variable / Static Attribut

  • Lokale Variable können mit Hilfe des static Attributes permanent gemacht werden;
  • Permanente Variable existieren während der gesamten Laufzeit eines Programmes; sie werden nicht auf dem Stack abgelegt.
  • Die Initialisierung von static Variablen geschieht nur einmal zu Beginn der Ausführung des Programmes

Value Parameter und Reference Parameter

Value Parameter

  • Im "Normalfall" werden beim Aufruf eines Unterprogramms die Werte der aktuellen Parameter in den Speicherbereich des Unterprogramms kopiert. (→call-by-value Mechanismus)
  • Mittels call-by-value Mechanismus übergebene Parameter("normale" Parameter) heißen in C/C++ Value Parameter
  • Value Parameter sind nur zur Übergabe von Daten an/ in das Unterprogramm geeignet sie können daher anstatt als Value Parameter (C-Terminologie) auch als in-Parameter bezeichnet werden

Reference Parameter

  • Referenz-Parameter werden deklariert, indem ihrem Namen im (Unter-) Programmkopf ein & vorangestellt wird
  • Durch Verwendung von Referenz-Parametern wird beim Aufruf des Unterprogrammes eine Referenz auf die als aktueller Parameter verwendete Variable des aufrufenden Programms übergeben. Man spricht daher hier auch vom call-by-reference Mechanismus.
  • Referenz-Parameter können als lokaler Name im Unterprogramm für die als aktueller Parameter verwendete Variable des aufrufenden Programms (z.B. main) betrachtet werden.
  • Referenz-Parameter können zur Datenübergabe an das aufrufende Programm verwendet werden; sie heißen daher auch result parameter (C-Terminologie) oder out-parameter;
  • Bei Verwendung eines Referenz-Parameters zur Datenübergabe in beide Richtungen (Input → Anfangswert, output → Endwert)spricht man von einem value-result parameter (C-Terminologie)oder inout-parameter;
  • Referenz-Parameter sind nicht Bestandteil des C-Subsets !

Const Parameter

  • Werden durch Voranstellung des const Attributes im (Unter-)Programmkopf deklariert;
  • Dürfen im Unterprogramm nicht verändert werden;
  • Helfen bei der Fehlervermeidung (-> vom Compiler überprüfbare Vorgabe);

Function Overloading

  • Für die Fälle, in denen die gleiche Funktion mit / für verschiedene Datentypen verwendet werden soll, bietet C++ (nicht C) die Möglichkeit, die Funktionsnamen zu überladen;
  • Beim Overloading erhalten Funktionen mit unterschiedlichem Parameterprofil denselben Namen;
  • Das System erkennt beim Aufruf am Typ der aktuellen Parameter automatisch, welche Version verwendet werden soll;
  • Overloading vermeidet das "künstliche Erfinden" unterschiedlicher Namen für ein und dieselbe Funktion; (wie z.B. "int_demo(...)" und "double_demo(...)" statt "demo(...)" )

weiter zu Vorlesung 7

Kategorie: Programmieren
| Mehr

Zahlen & Daten

  • 441 Seitenaufrufe
  • 1144 Tage alt
  • 2 Versionen
  • Letzte Änderung: 07.05.2009 um 09:13 Uhr

Publish