Proseminar - Zeiger in C
|
|
- Michaela Kranz
- vor 6 Jahren
- Abrufe
Transkript
1 Proseminar - Zeiger in C Thomas Mechelke April / 24
2 Gliederung Grundlagen 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 2 / 24
3 Gliederung Grundlagen Allgemeines 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 3 / 24
4 Grundlagen Allgemeines Definition Was ist ein Zeiger? Ein Zeiger ist eine Variable, die eine Speicheradresse enthält. 4 / 24
5 Grundlagen Allgemeines Definition Was ist ein Zeiger? Ein Zeiger ist eine Variable, die eine Speicheradresse enthält. Zeiger Adresse Wert ??? ? 4 / 24
6 Grundlagen Allgemeines Motivation Warum sollte man sich mit Zeigern auskennen? Keine andere Möglichkeit der Implementation Performance Zeiger hinter den Kulissen Halbwissen ist eine Fehlerquelle 5 / 24
7 Grundlagen Syntax 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 6 / 24
8 Syntax Grundlagen Syntax Deklaration i n t e i n e Z a h l = 0 ; i n t e i n Z e i g e r ; 7 / 24
9 Syntax Grundlagen Syntax Deklaration i n t e i n e Z a h l = 0 ; i n t e i n Z e i g e r ; Adresszuweisung e i n Z e i g e r = &e i n e Z a h l ; 7 / 24
10 Syntax Grundlagen Syntax Deklaration i n t e i n e Z a h l = 0 ; i n t e i n Z e i g e r ; Adresszuweisung e i n Z e i g e r = &e i n e Z a h l ; Dereferenzierung e i n Z e i g e r = 7 ; 7 / 24
11 Fehlerquellen Grundlagen Syntax Writing in C or C++ is like running a chain saw with all the safety guards removed, Bob Gray 8 / 24
12 Grundlagen Syntax Fehlerquellen Writing in C or C++ is like running a chain saw with all the safety guards removed, Bob Gray Fehlerquelle Initialisierung vergessen 8 / 24
13 Grundlagen Syntax Fehlerquellen Writing in C or C++ is like running a chain saw with all the safety guards removed, Bob Gray Fehlerquelle Initialisierung vergessen Mögliche Folgen Laufzeitfehler Ungewollte Änderung von Daten 8 / 24
14 Grundlagen Syntax Fehlerquellen Writing in C or C++ is like running a chain saw with all the safety guards removed, Bob Gray Fehlerquelle Initialisierung vergessen Mögliche Folgen Laufzeitfehler Ungewollte Änderung von Daten Nullzeiger 8 / 24
15 Anwendung 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 9 / 24
16 Anwendung Zeiger und Funktionen 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 10 / 24
17 Anwendung Zeiger und Funktionen Funktionen allgemein Stackframe Parameter Lokale Variablen 11 / 24
18 Anwendung Zeiger und Funktionen Funktionen allgemein Stackframe Parameter Lokale Variablen Call by value 11 / 24
19 Zeiger als Parameter Anwendung Zeiger und Funktionen Deklaration void e i n e F u n k t i o n ( double e i n Z e i g e r ){ //... } 12 / 24
20 Zeiger als Parameter Anwendung Zeiger und Funktionen Deklaration void e i n e F u n k t i o n ( double e i n Z e i g e r ){ //... } Call by reference double e i n e Z a h l = 0 ; e i n e F u n k t i o n (& e i n e Z a h l ) ; 12 / 24
21 Anwendung Zeiger und Funktionen Zeiger als Parameter Deklaration void e i n e F u n k t i o n ( double e i n Z e i g e r ){ //... } Call by reference double e i n e Z a h l = 0 ; e i n e F u n k t i o n (& e i n e Z a h l ) ; Beispiele Zusätzliche Rückgabewerte Sortierfunktion Strukturen 12 / 24
22 Zeiger als Rückgabewerte Anwendung Zeiger und Funktionen Signatur double e i n e F u n k t i o n ( ) ; 13 / 24
23 Anwendung Zeiger und Funktionen Zeiger als Rückgabewerte Signatur double e i n e F u n k t i o n ( ) ; Fehlerquelle Zeiger wird ungültig 13 / 24
24 Anwendung Zeiger und Funktionen Zeiger als Rückgabewerte Signatur double e i n e F u n k t i o n ( ) ; Fehlerquelle Zeiger wird ungültig Thema Dynamische Speicherverwaltung 13 / 24
25 Anwendung Zeiger und Arrays 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 14 / 24
26 Zeiger und Arrays I Anwendung Zeiger und Arrays Syntax double dz, darry [ 6 ] ; dz = &darry [ 4 ] ; 15 / 24
27 Zeiger und Arrays I Anwendung Zeiger und Arrays Syntax double dz, darry [ 6 ] ; dz = &darry [ 4 ] ; darry[0] darry[1] darry[2] darry[3] darry[4] darry[5] dz 15 / 24
28 Anwendung Zeiger und Arrays Zeiger und Arrays I Syntax double dz, darry [ 6 ] ; dz = &darry [ 4 ] ; darry[0] darry[1] darry[2] darry[3] darry[4] darry[5] dz Elemente nebeneinander Zeigerarithmetik 15 / 24
29 Anwendung Zeiger und Arrays Zeiger und Arrays II Beispiel for-schleife 16 / 24
30 Anwendung Zeiger und Arrays Zeiger und Arrays II Beispiel for-schleife f o r ( dz = &darry [ 0 ] ; dz <= &darry [ 5 ] ; dz++) dz = 0 ; 16 / 24
31 Anwendung Zeiger und Arrays Zeiger und Arrays II Beispiel for-schleife f o r ( dz = &darry [ 0 ] ; dz <= &darry [ 5 ] ; dz++) dz = 0 ; Möglicherweise bessere Performance 16 / 24
32 Anwendung Zeiger und Arrays Zeiger und Arrays II Beispiel for-schleife f o r ( dz = &darry [ 0 ] ; dz <= &darry [ 5 ] ; dz++) dz = 0 ; Möglicherweise bessere Performance Fehlerquelle Arraygrenzen überschreiten 16 / 24
33 Anwendung Zeiger und Arrays Zeichenketten char Array Nullterminiert 17 / 24
34 Anwendung Zeiger und Arrays Zeichenketten char Array Nullterminiert char t e x t [ 2 0 ] = f a s t ; char nocheintext = am ; char undnocheintext [ 5 ] = { e, n, d, e, \0 } ; 17 / 24
35 Anwendung Zeiger und Arrays Zeiger auf Zeiger Beispiel Wie durchläuft man ein Array von Zeichenketten? 18 / 24
36 Anwendung Zeiger und Arrays Zeiger auf Zeiger Beispiel Wie durchläuft man ein Array von Zeichenketten? char zkarray [ 3 ] = { ZK1, ZK2, ZK3 } ; i n t i ; f o r ( i = 0 ; i < 3 ; i ++) p r i n t f ( %s \n, zkarray [ i ] ) ; char zzc ; f o r ( zzc = zkarray ; zzc < &zkarray [ 3 ] ; zzc++) p r i n t f ( %s \n, zzc ) ; 18 / 24
37 Anwendung Weitere Andwendungen 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 19 / 24
38 Anwendung Weitere Andwendungen Weitere Andwendungsbeispiele Funktionszeiger Datenstrukturen (zb. linked list) 20 / 24
39 Zusammenfassung 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 21 / 24
40 Zusammenfassung Zusammenfassung Zeiger Enthalten Speicheradressen Sind essentieller Bestandteil von C Können Fehlerquelle sein Machen Call by Reference möglich Sind (meist) hinter den Kulissen von Arrays Dies war nur eine sehr knappe Einführung Empfehlung: learning by doing 22 / 24
41 Quellen 1 Grundlagen Allgemeines Syntax 2 Anwendung Zeiger und Funktionen Zeiger und Arrays Weitere Andwendungen 3 Zusammenfassung 4 Quellen 23 / 24
42 Quellen Quellen The C Book - Banahan, Brady, Doran book/ [ ] C Wikibook [ ] C Standart ISO/IEC [ ] 24 / 24
Zeiger in C. Thomas Mechelke August 2011
Zeiger in C Thomas Mechelke August 2011 Dieser Artikel ist die Ausarbeitung meiner Präsentation über Zeiger in C. Er ist in zwei Teile zerlegt: Der Erste Teil beschäftigt sich mit den Grundlagen zu Zeigern
MehrProgrammierung 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
MehrC++ 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
MehrZeiger, 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
MehrC++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrTypische Speicherfehler in C
Typische Speicherfehler in C Thorsten Ploß Informatik Universität Hamburg Proseminar: C-Grundlagen und Konzepte 17.05.2013 1 / 13 Inhaltsverzeichnis Einleitung Klassische Speicherverwaltung - Fehlerquellen
Mehr2. 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)
MehrZeiger: Der Adressoperator &
Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrVariablen. 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!
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
MehrProgrammieren in C. Zeiger und Zeichenketten. Prof. Dr. Nikolaus Wulff
Programmieren in C Zeiger und Zeichenketten Prof. Dr. Nikolaus Wulff Zeiger Variablen benötigen zur Laufzeit einen bestimmten Speicherplatz. Die Größe des Bedarfs richtet sich nach dem Typ der Variablen,
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Mehr10 Die Programmiersprache C99: Zusammenfassung
10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
MehrC- Kurs 09 Dynamische Datenstrukturen
C- Kurs 09 Dynamische Datenstrukturen Dipl.- Inf. Jörn Hoffmann jhoffmann@informaak.uni- leipzig.de Universität Leipzig InsAtut für InformaAk Technische InformaAk Flexible Datenstrukturen Institut für
MehrVorkurs Informatik: Erste Schritte der Programmierung mit C++
Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Arne Nägel, Andreas Vogel, Gabriel Wittum Lehrstuhl Modellierung und Simulation Goethe-Center for Scientific Computing
MehrPointer. Variablen. Pointer. Ein elementares Beispiel. Pointer in C
Variablen Pointer Variable vs. Pointer Dereferenzieren Address-of Operator & Dereference Operarot * Call by Reference Variable = symbolischer Name für Speicherbereich + Information, wie Speicherbereich
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Variablen Übersicht 1 Variablendeklaration 2 Initialisierung von Variablen 3 Symbolische Konstanten Variablendeklaration Die Deklaration der Variablen erfolgt durch eine Typangabe
MehrDynamischer Speicher
Dynamischer Speicher C-Kurs 2012, 3. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 13. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrÜbungspaket 29 Dynamische Speicherverwaltung: malloc() und free()
Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten
MehrC-Pointer (Zeiger, Adressen) vs. C++ Referenzen
C-Pointer (Zeiger, Adressen) vs. C++ Referenzen Der Pointer (C/C++): In C/C++ ist der Pointer ein eigener Datentyp, der auf Variablen/Objekte zeigen kann. Indem man den Pointer dereferenziert, gewinnt
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrZeiger in C und C++ Zeiger in Java und C/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 Referenztypen (Klassen und Arrays) verwendet,
MehrArrays und Schleifen
Arrays und Schleifen Javakurs 2014, 2. Vorlesung Sebastian Schuck basierend auf der Vorlage von Theresa Enghardt, Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 3. März 2014 This work is licensed
MehrEinführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian
Einführung in die Programmierung Arvid Terzibaschian 1 Arrays 2 Arrays: Motivation Gegeben: monatliche Durchschnittstemperaturen der letzten 5 Jahre Gesucht: Mittelwerte für Jahre, Monate, Jahreszeiten,
MehrC++ 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
MehrProgrammieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff
Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen
MehrC++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!
MehrProgrammieren 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
MehrC für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrErste Schritte der Programmierung in C
Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)
MehrBerichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung
Berichte aus der Informatik Dieter Pawelczak Start in die C-Programmierung Shaker Verlag Aachen 2012 Inhaltsverzeichnis Inhaltsverzeichnis i 1 Einleitung 1 1.1 Umfeld und Aufbau des Buches 1 Die Programmiersprache
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
MehrÜbung zur Vorlesung Programmieren in C
Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrArrays (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
MehrC- Kurs 08 Zeiger. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins?tut für Informa?k Technische Informa?
C- Kurs 08 Dipl.- Inf. Jörn Hoffmann jhoffmann@informa?k.uni- leipzig.de Universität Leipzig Ins?tut für Informa?k Technische Informa?k Überblick Datentyp zur Verwaltung von Adressen (auf Speicherplätze)
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrÜ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Übungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrÜ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:
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrII. 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+ 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
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrProgrammiersprache 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Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.
Übersicht 4.1 Ausdrücke 4.2 Funktionale Algorithmen 4.3 Anweisungen 4.4 Imperative Algorithmen 4.4.1 Variablen und Konstanten 4.4.2 Prozeduren 4.4.3 Verzweigung und Iteration 4.4.4 Globale Größen Einführung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Arrays Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Arrays Motivation und Eigenschaften Deklaration, Erzeugung und Initialisierung
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrGrundkurs Software- Entwicklung mit C++
Dietrich May Grundkurs Software- Entwicklung mit C++ Praxisorientierte Einführung mit Beispielen und Aufgaben- Exzellente Didaktik und Übersicht Mit 30 Abbildungen 2., überarbeitete und erweiterte Auflage
MehrFunktionen und Parameter
Funktionen in C++ Funktionen und Parameter Wie in Java: Parameter sind lokale Variablen Argumente werden bei Aufruf zugewiesen Extras: Zeiger-Parameter für alle Typen: als Rückgabewerte um große Kopien
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrTyp : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrZeiger und dynamischer Speicher
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr
MehrEinführung in die Programmierung Wintersemester 2014/15
Einführung in die Programmierung Wintersemester 2014/15 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Zeiger Inhalt Zeiger Zeigerarithmetik Zeiger für
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrU3 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
MehrFelder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden
Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Dim arrayname (dim1,dim2, ) As Typ Bei eindimensionalen Feldern
MehrGrundlagen 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
MehrEinführung in Java. Arne Hüffmeier. Angelehnt an Java-Vorkurs der Freitagsrunde. Methoden implementieren. Michelle Liebers, Dennis Hoffmann
Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 44 1 Methoden implementieren Motivation Aufbau einer Methode
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrGrundlagen der Programmierung in C Funktionen
Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
MehrKapitel 8: Arrays und Zeiger (Pointer)
8. Arrays und Zeiger 8-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 8: Arrays und Zeiger (Pointer) Deklaration von Arrays, Speicherbelegung Zugriff auf Array-Elemente, Adressberechnung
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrStandardkonstrukte in Java
Robert Buchholz, Sven Schneider JavaKurs 2006 1. Tag Freitagsrunde / Tutoren 03. April 2006 Was lernen wir heute noch kennen? 1 Methoden Definition einer Methode Aufruf einer Methode 2 Datenstruktur Array
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
MehrAuswahlen (Selektionen)
1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin
MehrC allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.
C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrElementare 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
MehrOrganisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben
Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe
MehrSpeicherklassen (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
MehrKapitel 4: Zeiger. Inhalt. Zeiger Zeigerarithmetik
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrInformationsverarbeitung im Bauwesen
4 Informationsverarbeitung im Bauwesen Markus Uhlmann basierend auf Folien von A. Brugger 1 Zusammenfassung der 3. Vorlesung Einführung in Excel/VBA Einführung in die Tabellenkalkulation Erste Schritte
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen
MehrINE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen
INE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen 1 Call by Value, Structs 2 von 45 Call by value (Wiederholung)
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrAdvanced 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
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
Mehr7 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
MehrDatenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures
Vorbesprechung U8 Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures Basistypen Alignment der Basistypen auf deren Grösse Grössen (abhängig
MehrC++11. exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich)
C - enums mit Problemen: konvertierbar nach int C++11 exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich) enum classes
MehrDynamische Datentypen
Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel
Mehr