FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in die Programmiersprache C/C++
Advertisements

Imperative Programmierung
Imperative Programmierung
der Universität Oldenburg
Variablen und Datentypen
der Universität Oldenburg
der Universität Oldenburg
Sequentielle Liste - Array
Sortieren mit Binären Bäumen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Motivation Richard Göbel.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
ARRAY oder FELD oder VEKTOR
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 5 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung
Einführung in die Programmierung mit Java
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Arrays,Strings&Pointer in C/C++
DVG Klassen und Objekte
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundkonzepte Java - Klassendefinition
Java programmieren mit JavaKara
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Repetitorium PG : Pointer FH-Darmstadt, FB Informatik.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmiersprache C 4
Informatik 1 Letzte Übung.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Algorithmen und Datenstrukturen Übungsmodul 6
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
Variablen in Programmiersprachen
Programmieren in C Grundlagen C 2
5. Zeiger und komplexe Datenstrukturen
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Sammlungsklassen Array.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
C Tutorium – Memory Management – Knut Stolze. 2 Agenda Einführung in die Speicherverwaltung Stack vs. Heap Malloc Free Sizeof Tipps/Hinweise.
Pointer. Precompiled Header  Vorübersetzung eingebundener Dateien häufig genutzt, selten geändert  Projekttyp „Win32 Console Application“
Tutorium Software-Engineering SS14 Florian Manghofer.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Tutorium Software-Engineering SS14 Florian Manghofer.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Anforderungen an die neue Datenstruktur
 Präsentation transkript:

FH-Hof Indirekte Adressierung Richard Göbel

FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für den angegebenen Datentyp Bei den folgenden Operationen werden Kopien der gespeicherten Daten erzeugt: Zuweisung (z.B. x = y) Aufruf einer Funktion (z.B. f(x)) Eine Vergleich überprüft die Gleichheit der enthaltenen Daten int x = 17; 17 x:

FH-Hof Indirekte Adressierung - Idee Bei einer Deklaration für indirekte Adressierung wird nur Speicherplatz für eine Adresse (Zeiger, Pointer, Referenz) reserviert. Bei den folgenden Operationen werden Kopien der Adressen und nicht der Daten erzeugt: Zuweisung (z.B. x = y) Aufruf einer Funktion (z.B. f(x)) Eine direkter Vergleich überprüft die Gleichheit der enthaltenen Adressen und nicht der Daten! Student s = new Student(); s: Student name: Meier alter: 19

FH-Hof Indirekte Adressierung – Anwendung Deklaration einer Variablen für den Zeiger Ausreichend Speicher anfordern für den gewünschten Datentyp Angeforderten Speicher initialisieren (z.B. mit Defaultwerten) Adresse des Speichers in Variable eintragen... Datentyp über die Variable verwenden... Speicherplatz für Datentyp freigeben, falls er nicht mehr benötigt wird Wert der Variable auf Adresse 0 setzen (NULL)

FH-Hof Vereinbarungen für diese Veranstaltung Alle einfachen Datentypen (Zahlen, Zeichen, Boolean) werden direkt adressiert Alle benutzerdefinierten Datentypen werden ohne weitere Deklaration indirekt adressiert type Test { int wert; } Test t;// nicht: Test *t; t = new Test() Speicherplatz wird automatisch angelegt und freigegeben

FH-Hof Referenzen - Beispiel type T { int v; } void refFunc (T t) { t.v = 2; } void valFunc (int v) { v = 2; }

FH-Hof Referenzen - Beispiel... int v1; T v2 = new T(); v1 = 1; valFunc(v1); print(v1); v2.v = 1; refFunc(v2); print(v2.v);...