Zusammengehörige Daten struct. Strukturierte Datentypen und Funktionszeiger. Zugriff auf struct-elemente. Variablendeklarationen mit struct

Größe: px
Ab Seite anzeigen:

Download "Zusammengehörige Daten struct. Strukturierte Datentypen und Funktionszeiger. Zugriff auf struct-elemente. Variablendeklarationen mit struct"

Transkript

1 Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang explizit macht. Zum Beispiel kann bei einem Prüfungsergebnis der Name des Prüflings und die erreichte Punktzahl zusammengefasst werden: ergebnis /* Schlüsselwort + "Etikett" */ char name[20]; /* Felder der Struktur wie */ int punkte; /* in Variablendeklaration */ ; /* Semikolon beachten! */ Variablendeklarationen mit Jetzt ist ergebnis ein Datentyp wie z.b. int und kann genauso zur Deklaration von einfachen Variablen, Zeigern, Arrays, etc. benutzt werden: ergebnis e; /* e ist ein Ergebnis */ ergebnis *ep; /* ep ist Zeiger auf ein Ergebnis */ ergebnis ea[10]; /* ea ist ein Array von 10 Ergebnissen */ Zugriff auf -Elemente Um auf eine Komponente einer Struktur zuzugreifen, wird die Struktur, gefolgt von einem Punkt und dem Namen der Komponente hingeschrieben. /* Beispiel 1 - einfache Variable */ strcpy( e.name, "Claire" ); /* aus string.h */ e.punkte = 16; /* Beispiel 2 - Array */ for (i=0; i<20; i++) printf( "%s hat %d Punkte\n", ea[i].name, ea[i].punkte );

2 Zugriff über Zeiger Im Falle eines Zeigers auf eine Struktur kann man mit ep->name auf eine Komponente zugreifen. Zu dieser Notation ist (*ep).name äquivalent die Klammern sind aufgrund der Vorrangregeln von C erforderlich. Der Punkt. und der Pfeil -> sind Operatoren. Zuweisungen Strukturen können insgesamt zugewiesen werden: ea[5] = e; Dabei wird der gesamte Inhalt der Struktur kopiert. (Falls die Struktur Zeiger enthält, werden diese kopiert, nicht das, worauf diese Zeiger zeigen!) Strukturen können als Parameter an Funktionen übergeben sowie von Funktionen zurückgegeben werden. Auch hierbei wird der gesamte Inhalt kopiert. (Es gilt also die übliche call-by-value-semantik.) Das vollständige Kopieren ist bei umfangreicheren Strukturen zu aufwendig und sollte vermieden werden. In solchen Fällen werden nur Zeiger auf Strukturen übergeben, auch wenn diese Strukturen nicht geändert werden sollen. Ein Vergleich mit == oder!= ist nicht möglich. Funktionen und Strukturen Sofortige Initialisierung /* Gib eine neue Ergebnisstruktur mit gegenüber e um n erhöhter Punktezahl zurück. */ ergebnis verbessert( ergebnis e, int n ) e.punkte += n; /* Original bleibt unverändert! */ return e; /* Erhöhe das Ergebnis, auf das der Zeiger ep zeigt, um n Punkte. */ void verbesserung( ergebnis *ep, int n ) ep->punkte += n; Ähnlich wie bei Arrays kann eine -Variable gleich bei der Deklaration initialisiert werden, indem die Startwerte innerhalb geschweifter Klammern angegeben werden: ergebnis e = "Claire", 16 ; ergebnis liste[] = "Anton", 13, "Berta", 17, "Carla", 15 ; Bei der Initialisierung des Arrays können die inneren Klammern auch weggelassen werden. Der gcc warnt dann allerdings, sofern die Option -Wall benutzt wird.

3 Sofortige Variablendeklaration bei Strukturdefinition Strukturtypen und Header-Files Strukturdefinition und zugehörige Variablendeklaration könnnen gemeinsam geschehen: ergebnis char name[20]; int punkte; e, *ep, ea[10]; Wenn man den Strukturtyp nicht noch an anderer Stelle braucht, kann man dabei das Etikett (hier: ergebnis) auch weglassen. In der Regel wird ein Strukturtyp in mehreren Dateien benutzt. Eine Datei stellt elementare Operationen zur Verfügung, und andere benutzen sie. Dann kann die Strukturdefinition in ein Header-File geschrieben werden. Alternativ kann man den Strukturtyp im Header nur deklarieren, dazu schreibt man etwa ergebnis; In anderen Dateien kann dann auf die Komponenten der Struktur nicht zugegriffen werden, und es können nur Zeiger auf die Struktur angelegt werden. Weitere Beispiele Namensräume /* Stackelemente und Stackpointer zusammen */ stack double values[stacksize]; int sp; ; /* Matrix, die ihre Größe mitspeichert */ matrix int rows, cols; double **M; ; Die Komponentennamen verschiedener Strukturtypen sind unabhängig. /* erlaubt: */ point2d double x, y; ; point3d double x, y, z; ; Etiketten, Komponentennamen und gewöhnliche Bezeichner sind unabhängig. /* nicht schön, aber erlaubt: */ i int i; i;

4 Geschachtelte Strukturen Strukturen können andere Strukturen beeinhalten: /* Ein Punkt in der Ebene ist festgelegt durch zwei Koordinaten */ point double x, y; ; /* Ein Dreieck ist festgelegt durch drei Punkte */ triangle point p1, p2, p3; ; Beispiel: Komplexe Zahlen Headerfile /* complex.h */ complex double real, imag; ; complex mkcomplex( double real, double imag ); void printcomplex( complex z ); complex addcomplex( complex a, complex b); Beispiel: Komplexe Zahlen - Erzeugen /* complex.c */ #include <stdio.h> #include "complex.h" complex mkcomplex( double real, double imag ) complex z; z.real = real; z.imag = imag; return z;... Beispiel: Komplexe Zahlen - Ausgabe und Addition... void printcomplex( complex z ) printf( "%g%+gi", z.real, z.imag ); complex addcomplex( complex a, complex b); complex z; z.real = a.real + b.real; z.imag = a.imag + b.imag; return z;

5 Hinweis: Komplexe Zahlen in C99 In C99 und als Erweiterung beim gcc gibt es eingebaute komplexe Zahlen. Sie können mit den normalen Operatorzeichen verknüpft werden. #include <stdio.h> #include <complex.h> int main( void ) complex double a = * I; /* oder nur complex */ complex double b = 1 - I; complex double z = a*b; printf( "%g%+gi\n", creal(z), cimag(z) ); return 0; Alternative Daten - Manchmal will man in einer Variablen abwechselnd verschiedene Arten von Werten speichern können, z.b. entweder eine Fließkommazahl oder ein Zeichen. Anstatt einer Struktur, die Platz für jeden Datentyp gleichzeitig hat, gibt es hierfür die Union, in der der Platz geteilt wird, so dass nur immer nur ein Datentyp gespeichert werden kann. val /* Schlüsselwort + "Etikett" */ double f; /* Alternativen der Union wie */ char c; /* in Variablendeklaration */ ; /* Semikolon beachten! */ Deklaration und Zugriff Verfolgen des aktuellen Typs Deklaration (in allen Varianten) und Zugriff (auch über Zeiger) ist wie bei Strukturen. val v; v.f = 2.7; printf( "%g\n", v.f ); v.c = x ; printf( "%c\n", v.c ); Sofern man nicht gerade raffinierte implementationsabhängige Tricks macht, darf man nur auf die Alternative zugreifen, der man zuletzt etwas zugewiesen hat. Man kann bei einer Union nicht herausfinden, welcher Alternative als letztes etwas zugewiesen wurde. Unter Umständen ist die Programmlogik so, dass man es immer weiß. Ansonsten muss man es sich extra im Programm merken. Hierfür bietet es sich an, die Union in eine Struktur einzubetten: valx int isnum; /* 1 für Zahl, * * 0 für Zeichen in u */ val u; ;

6 Sofortige Initialisierung Quicksort vergleiche CoMa Eine sofortige Initialisierung ist nur für die erste Alternative möglich und erfordert geschweifte Klammern: val v = 3.1 ; (C99 bietet weitere Möglichkeiten.) /* qsort: sortiere v[l]...v[r] aufsteigend */ void qsort( int v[], int l, int r ) int i, m; if ( l >= r ) /* nichts zu sortieren */ return; swap( v, l, (l+r)/2 ); /* zentrales El. */ m = l; for ( i = l+1; i<=r; i++ ) /* aufteilen */ if ( v[i] < v[l] ) swap( v, ++m, i ); swap( v, l, m ); /* zentrales El. */ qsort( v, l, m-1 ); qsort( v, m+1, r ); von Ergebnislisten Funktionszeiger Was, wenn Ergebnislisten ergebnis liste[] sortiert werden sollen? Ändern des Arraytyps kein Problem Anpassen von swap kein Problem Vergleichen von Strukturen mit einer eigenen Funktion statt mit < Brauchen wir mehrere Sortierfunktionen, um mal nach Punkten und mal alphabetisch nach Namen zu sortieren? (Wir könnten jede sinnvolle Vergleichsfunktion einbauen und anhand einer übergebenen Nummer angeben, welche genommen werden soll, aber es soll etwas allgemeineres gemacht werden: Übergabe der Vergleichsfunktion) Genauso, wie double g( double ); besagt, dass g eine Funktion ist, die einen double-wert nimmt und einen double-wert als Ergebnis hat, wird durch double (*f)( double ); besagt, dass f ein Zeiger auf eine derartige Funktion ist. f kann dann wie folgt benutzt werden: double x; f = sin; /* oder: f = &sin */ x = f( 1.5 ); /* oder: x = (*f)( 1.5 ); */

7 Vergleichsfunktionen In C wird das Ergebnis eines Vergleichs compare(e1,e2) durch einen int-wert dargestellt. Das Ergebnis ist positiv, falls e1 nach e2 kommt, negativ, falls e1 vor e2 kommt, Null, falls sie gleich sind. (Falls man die Werte Subtrahieren kann, stimmen die Vorzeichen von compare(e1,e2) und e1-e2 überein.) In unserem Fall wird ein Zeiger auf eine passende Vergleichsfunktion deklariert durch: int (*cmp)( ergebnis, ergebnis ); Da wir eine solche Funktion übergeben wollen, taucht diese Deklaration innerhalb der Deklaration des erweiterten qsort auf. Quicksort für Ergebnislisten void qsort( ergebnis v[], int l, int r, int (*cmp)( ergebnis, ergebnis ) ) int i, m; if ( l >= r ) /* nichts zu sortieren */ return; swap( v, l, (l+r)/2 ); /* zentrales El. */ m = l; for ( i = l+1; i<=r; i++ ) /* aufteilen */ if ( cmp( v[i], v[l] ) < 0 ) swap( v, ++m, i ); swap( v, l, m ); /* zentrales El. */ qsort( v, l, m-1, cmp ); qsort( v, m+1, r, cmp ); Vergleichsfunktionen in unserem Beispiel #include <string.h> /* für strcmp */ /* Alphabetischer Vergleich der Namen */ int name_cmp( ergebnis e1, ergebnis e2 ) return strcmp( e1.name, e2.name ); /* Vergleich der Punkte */ int punkte_cmp( ergebnis e1, ergebnis e2 ) return e1.punkte - e2.punkte; /* Vorsicht: wenn der Wertebereich ausgeschöpft wird, drohen bei dieser Technik Fehler durch Überläufe! */ Anwendung int main( void ) ergebnis liste[]= "Claire", 16, "Anna", 18, "Berta", 13, "Carla", 16, "Dieter", 17 ; int size = sizeof( liste ) / sizeof( liste[0] ); printlist( liste, size ); qsort( liste, 0, size-1, name_cmp ); printlist( liste, size ); qsort( liste, 0, size-1, punkte_cmp ); printlist( liste, size ); return 0;

8 qsort in der C-Bibliothek void * Anwendung Hilfsfunktionen /* vertausche v[i] und v[j] */ void swap( ergebnis v[], int i, int j ) ergebnis tmp = v[i]; v[i] = v[j]; v[j] = tmp; /* Ausgabe der Ergebnisliste v der Größe n */ void printlist( ergebnis v[], int n ) int i; for (i=0; i<n; i++) printf( "%10s: %d\n", v[i].name, v[i].punkte ); printf("\n"); qsort in der C-Bibliothek Eine noch allgemeinere Sortierfunktion, wie sie in der C-Bibliothek zu finden ist, darf nicht vom Datentyp der zu sortierenden Elemente abhängen. Hierfür wird der spezielle Zeigertyp void * benutzt. Zeiger auf Daten können (auch implizit) in diesen Zeigertyp umgewandelt werden und zurück. qsort (aus stdlib.h) ist deklariert als void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *)); Hierbei ist nmemb die Anzahl der Elemente, die zu sortieren sind, und size die Größe eines Elements. size_t ist ein Integertyp, der für Speichergrößen verwendet wird. qsort in der C-Bibliothek void * Anwendung qsort in der C-Bibliothek void * Anwendung Vergleichsfunktionen für dieses qsort Anwendung des Bibliotheks-qsort Eine entsprechende Vergleichsfunktion muss Parameter vom Typ const void * akzeptieren. In unserer Anwendung werden diese in const ergebnis * umgewandelt. (Durch const wird angegeben, dass die Variablen nur gelesen, aber nicht geändert werden.) /* Alphabetischer Vergleich der Namen */ int name_cmp_x( const void *x1, const void *x2 ) const ergebnis *e1 = x1, *e2 = x2; return strcmp( e1->name, e2->name ); #include <stdlib.h> int main( void ); ergebnis liste[] =...; int size = sizeof( liste ) / sizeof( liste[0] ); qsort( liste, size, sizeof(liste[0]), name_cmp_x );...

Strukturierte Datentypen und Funktionszeiger

Strukturierte Datentypen und Funktionszeiger Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

Grundlagen und Konzepte von C Datenstrukturen

Grundlagen und Konzepte von C Datenstrukturen Grundlagen und Konzepte von C Datenstrukturen Ausarbeitung von Andreas Gadelmaier Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik,

Mehr

float *point(float a, float b); // Funktionsdeklaration Zeiger als Funktionswert // point liefert als Wert die Adresse seines Ergebnisses

float *point(float a, float b); // Funktionsdeklaration Zeiger als Funktionswert // point liefert als Wert die Adresse seines Ergebnisses Zeiger auf Funktionen 1 Zeiger als Funktionswert... 1 2 "Zeiger als Funktionswert" versus "Zeiger auf eine Funktion"... 2 2.1 Das Beispiel zu Zeiger auf eine Funktion veranschaulicht den Sachverhalt...

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Probeklausur Name: (c)

Probeklausur Name: (c) Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume

Mehr

Arrays 120. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier

Arrays 120. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier Arrays 120 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

U8 7. Übung U8 7. Übung

U8 7. Übung U8 7. Übung U8 7. Übung U8 7. Übung Dynamische Speicherverwaltung Generisches Sortieren Aufgabe 7 U8.1 U8-1 Dynamische Speicherverwaltung U8-1 Dynamische Speicherverwaltung Erzeugen von Feldern der Länge n: mittels:

Mehr

9. Vektoren. (auch Felder/array)

9. Vektoren. (auch Felder/array) 9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 12 Strukturierte Datentpen - Strukturen... 12-2 12.1 Definition und Deklaration von Strukturtpen und Strukturen... 12-2 12.2 Strukturen als Funktionsparameter und Funktionswert... 12-4 12.3 Felder

Mehr

Arrays 115. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier

Arrays 115. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier Arrays 115 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list

Mehr

Informatik. Strukturen und Aufzählungstypen. Vorlesung

Informatik. Strukturen und Aufzählungstypen. Vorlesung Informatik Vorlesung 06 Strukturen und Aufzählungstypen 03. Dezember 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Datentypen Die bisher benutzten Datentypen waren

Mehr

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.

Mehr

INE1 Arrays, Zeiger, Datenstrukturen

INE1 Arrays, Zeiger, Datenstrukturen INE1 Arrays, Zeiger, Datenstrukturen Arrays Felder von Elementen gleichen Typs Verwenden von Adressen: Zeiger Datenstrukturen mit struct Zeiger auf Datenstrukturen Spezielle Zeiger und komplexe Deklarationen

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

Vektoren 105. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier

Vektoren 105. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier Vektoren 105 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

Übersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions)

Übersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions) Übersicht 9.1 Strukturen (Verwendung) 9.2 Strukturen (Typdeklaration) 9.3 Strukturen (Variablendeklaration) 9.4 Felder aus Strukturen 9.5 Zugriff auf Strukturkomponenten 9.6 Zugriff auf Strukturkomponenten

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen

Mehr

Strukturierte Datentypen (struct) 2006 Pearson Education, Inc. All rights reserved.

Strukturierte Datentypen (struct) 2006 Pearson Education, Inc. All rights reserved. 1 8 Strukturierte Datentypen (struct) 2 8.1 Einführung 8.2 Definition von Strukturen 8.2.1 Selbstbezügliche Strukturen 8.2.2 Definition von Variablen strukturierter Datentypen 8.2.3 Bezeichner für Strukturen

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 8: Felder und Zeichenketten Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen

Mehr

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18 C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Strukturen in C. Strukturen stellen eine Zusammenfassung von Datenelementen unterschiedlichen Typs unter einem Namen dar.

Strukturen in C. Strukturen stellen eine Zusammenfassung von Datenelementen unterschiedlichen Typs unter einem Namen dar. Strukturen in C Strukturen stellen eine Zusammenfassung von Datenelementen unterschiedlichen Typs unter einem Namen dar. Dadurch sind sie vergleichbar mit Feldern, die eine Zusammenfassung (Reihung) von

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

Aufzählungstypen. Rekursive Datentypen und der ganze Rest. Aufzählungen als Ganzzahlwerte. Verwendung von Aufzählungen

Aufzählungstypen. Rekursive Datentypen und der ganze Rest. Aufzählungen als Ganzzahlwerte. Verwendung von Aufzählungen Aufzählungstypen Will man sich einen Wochentag, eine Farbe oder einen Zustand merken, so könnte man die verschiedenen Möglichkeiten durchnummerieren und die entsprechenden Zahl in einer int-variablen speichern.

Mehr

Einführung Pointer. C-Kurs 2013, 2. Vorlesung. Nico Andy

Einführung Pointer. C-Kurs 2013, 2. Vorlesung. Nico Andy Einführung Pointer C-Kurs 2013, 2. Vorlesung Nico nico@freitagsrunde.org Andy andrew@freitagsrunde.org http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons

Mehr

Speicherklassen (1) Lokale Variablen

Speicherklassen (1) Lokale Variablen Speicherklassen (1) Lokale Variablen Lokale Variablen beschränken sich auf die Funktionen, in denen sie definiert werden Sind in der Funktion gekapselt können also nur in der Funktion verändert werden

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Pointer und Arrays. INE1, Montag M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G.

Pointer und Arrays. INE1, Montag M. Thaler, Office TG208.  ZHAW, M. Thaler, K. Rege, G. Pointer und Arrays INE1, Montag M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Variable Speicherplatz Datenwert über Name ansprechbar hat Typ hat Adresse (Speicheradresse)

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Einführung in die Programmierung für Physiker. Die Programmiersprache C Strukturen ("struct...")

Einführung in die Programmierung für Physiker. Die Programmiersprache C Strukturen (struct...) Einführung in die Programmierung für Physiker Die Programmiersprache C Strukturen ("struct...") Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main WS 2013/14

Mehr

Einführung in die Programmierung für Physiker. Die Programmiersprache C Strukturen ("struct...")

Einführung in die Programmierung für Physiker. Die Programmiersprache C Strukturen (struct...) Einführung in die Programmierung für Physiker Die Programmiersprache C Strukturen ("struct...") Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main WS 2017/18

Mehr

Mussten wir eine ganze Reihe solcher Zahlen speichern, haben wir das eindimensionale Array verwendet.

Mussten wir eine ganze Reihe solcher Zahlen speichern, haben wir das eindimensionale Array verwendet. C Zweidimensionale Arrays Fachspezifische Softwaretechnik 1 Scriptum 2017 HTL St.Pölten Elektronik und Technische Informatik EL Autor: Kuran Zweidimensionale Arrays: Bisher konnten wir in Variablen einfache

Mehr

Ulrich Stein

Ulrich Stein Von C nach MATLAB Einführung in MATLAB für Personen mit C-Kenntnissen Datentypen ähnlich in C und MATLAB, dort aber automatische Typzuweisung möglich double a = 2; Arrays a = double( 2 ); aber auch a =

Mehr

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13 C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)

Mehr

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14 C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung

Mehr

Globale Variablen Diverses. Globale Variablen. Globale Variablen

Globale Variablen Diverses. Globale Variablen. Globale Variablen lokale Variablen Variablen bisher nur am Anfang von Funktionen auch erlaubt: am Anfang innerer Codeblöcke (innerhalb geschweifter Klammern) in C99 und als gcc-erweiterung: an beliebiger Stelle innerhalb

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 3.2 Auswahl an Stringfunktionen W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Die ANSI-Norm definiert auch nützliche Funktionen zur ASCIIZ-Stringbearbeitung.

Mehr

C++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15

C++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15 C++ Teil 6 Sven Groß 23. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 23. Nov 2015 1 / 15 Themen der letzten Vorlesung const-deklaration Referenzen Zeiger Felder Sven Groß (IGPM, RWTH Aachen) C++

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

Einführung in die Programmierung II. 5. Zeiger

Einführung in die Programmierung II. 5. Zeiger Einführung in die Programmierung II 5. Zeiger Thomas Huckle, Stefan Zimmer 16. 5. 2007-1- Bezüge als Objekte Bisher kennen wir als Bezüge (Lvalues) nur Variablennamen Jetzt kommt eine neue Sorte dazu,

Mehr

Die C++ Standard Template Library Andreas Obrist

Die C++ Standard Template Library Andreas Obrist Die C++ Standard Template Library 24. 06. 2004 Andreas Obrist Was dürft Ihr erwarten? 1. Teil Das Wichtigste in Kürze über die Standard Template Library 2. Teil Praktische Beispiele Was dürft Ihr nicht

Mehr

Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110)

Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110) U2 2. Übung U2 2. Übung U2-1 Überblick Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110) Aufgabe 2: qsort Debugger Übersetzen von Projekten mit "make" U2.1 B-2 Aufgabe 2: Sortieren

Mehr

10.4 Konstante Objekte

10.4 Konstante Objekte 10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 7: Matrizen, Vektoren und dynamische Speicherverwaltung Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Einführung in C Bieniusa Software Entwicklung 1 2/ 50 Warum C in SE1? Meist verwendete Sprache weltweit Viele wichtige

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern

Mehr

Felder, Zeiger und Adreßrechnung

Felder, Zeiger und Adreßrechnung Felder, Zeiger und Adreßrechnung Felder bestehen aus Variablen eines einzigen Datentyps. Bisher kennen wir eindimensionale Felder. In C sind Felder mit beliebigen Dimensionen möglich. Unsere räumliche

Mehr

Teil 6: Strukturen und Unionen Gliederung

Teil 6: Strukturen und Unionen Gliederung Teil 6: Strukturen und Unionen Gliederung Strukturen Typdefinitionen Unionen Dynamische Speicherverwaltung Strukturen Typdefinitionen Unionen Dynamische Speicherverwaltung Strukturen 6.2 Strukturen Typdefinitionen

Mehr

+ C - Array (Vektoren, Felder)

+ C - Array (Vektoren, Felder) + C - Array (Vektoren, Felder) Eindimensionale Arrays Beim Programmieren steht man oft vor dem Problem, ähnliche, zusammengehörige Daten (vom gleichen Datentyp) zu speichern. Wenn man zum Beispiel ein

Mehr

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

3.2 Datentypen und Methoden

3.2 Datentypen und Methoden Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 5: Zeiger, Felder, Zeichenketten Gliederung Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik

Mehr

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2) Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/

Mehr

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 12.12.2012 IAM Institut für Angewandte Mathematik Strukturen: Motivation Situation: Mit Funktionen verfügen wir über ein wirksames Mittel, um Programmcode

Mehr

2.8 Klassen. Nichtgleichartige Elemente können in Klassen zu einem neuen Typ zusammengefasst werden. Beispiel: Die drei Komponenten

2.8 Klassen. Nichtgleichartige Elemente können in Klassen zu einem neuen Typ zusammengefasst werden. Beispiel: Die drei Komponenten 2.8 Klassen Frage: Arrays fassen gleichartige Elemente (d.h. Elemente von gleichem Typ) zusammen. Wie kann man nichtgleichartige Elemente zu einem neuen Typ zusammenfassen? Nichtgleichartige Elemente können

Mehr

C-Programmierkurs Mathematik

C-Programmierkurs Mathematik Mathematik WS 2018/2019 Dr. Bodo Kalthoff Speicher für Werte Variablen Über Variablennamen ansprechbar Sprechende Namen vergeben! Variablen können Zahlen, Buchstaben oder komplexere Werte enthalten Der

Mehr

6. Bearbeitung von Strings in C Bearbeitung von Strings in C

6. Bearbeitung von Strings in C Bearbeitung von Strings in C Bearbeitung von Strings in C 6-1 Definition des String: 6. Bearbeitung von Strings in C Zeichenstrings werden als Felder von Zeichen abgespeichert: char [ ] ; Wie die Daten (Zeichenfolge)

Mehr

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach  10. Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Arrays. Einleitung. Deklarieren einer Array Variablen

Arrays. Einleitung. Deklarieren einer Array Variablen Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

U3 3. Übung U3 3. Übung. Systemnahe Programmierung in C Übungen Moritz Strübe Universität Erlangen-Nürnberg Informatik 4, 2009 U3.fm

U3 3. Übung U3 3. Übung. Systemnahe Programmierung in C Übungen Moritz Strübe Universität Erlangen-Nürnberg Informatik 4, 2009 U3.fm U3 3. Übung U3 3. Übung Besprechung Aufgabe 1 Pointer Register und Ports U3.1 U3-1 Zeiger U3-1 Zeiger 1 Einordnung Konstante: a 0110 0001 Variable: a Zeiger-Variable (Pointer): a char *p = &a; p U3.2 2

Mehr

Besprechung Aufgabe 1. Pointer. Register und Ports. SPiC - Ü U3.1

Besprechung Aufgabe 1. Pointer. Register und Ports. SPiC - Ü U3.1 U3 3. Übung U3 3. Übung Besprechung Aufgabe 1 Pointer Register und Ports U3.1 U3-1 Zeiger U3-1 Zeiger 1 Einordnung Konstante: a 0110 0001 Variable: a Zeiger-Variable (Pointer): a char *p = &a; p U3.2 2

Mehr

Java Anweisungen und Ablaufsteuerung

Java Anweisungen und Ablaufsteuerung Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr