C-Programmierung, Teil 2
Kursziele
Das fortgeschrittene C-Seminar konzentriert sich auf die unterschiedlichen Anwendungsbereiche der höheren Programmiersprache C und geht insbesondere auf Zeiger, Datenstrukturen und die Standardfunktionen der C-Bibliothek ein. Mit den Standardfunktionen der unterschiedlichen Bibliotheken können Teilnehmer Ein-/Ausgabeoperationen programmieren und Systemprogramme entwickeln. Im Ausblick stellt das Seminar Profiling und Optimierungsmöglichkeiten für performante und C-Programme vor.
Zielgruppe
Software-Entwickler, Programmierer, SystementwicklerEmpfohlene Dauer
4 Tage, insgesamt 24 ZeitstundenInhalte
- Anwendung der Pointer
- Zeiger auf Funktionen
- Rekursive Datentypen am Beispiel einer linearen Liste
- Funktionen mit variabler Parameteranzahl
- Umgang mit Dangling Pointers - Datenstrukturen und Algorithmen
- Einfach und doppelt verkettete Listen
- Stack, Queue
- Bäume (Trees)
- Such- und Sortieralgorithmen
- Weitere komplexe Datentypen - Allgemeine C-Bibliothek
- Header-Datei<stdlib.h>
- Typkonvertierungen:atof(),atoi(),atol(),strtod(),strtol,strtoul
- Zufallszahlen:rand(),srand()
- Allokation:malloc(),calloc(),realloc(),free()
- Prozesskontrolle:abort(),atexit(),exit(),getenv(),system()
- Sortieren und Suchen:bsearch(),qsort()
- Mathematisches:abs(),labs(),div(),ldiv() - ANSI-C Standard Library für Zeichen und Zeichenketten
- Header-Datei<ctype.h>
-isXXX()-Funktionen,tolower()undtoupper()
- Header-Datei<string.h>
- Speicher bewegen:memXXX()
- String-Funktionen:strXXX() - Dateien und Ein-/Ausgabe
- Dateien und Handles
- Dateiattribute, Verzeichnisoperationen
- Dateien öffnen, anlegen/erzeugen und löschen
- Formatierte Ein-/Ausgaben mitfprintf(),fscanf()
- Dateiende und Fehlerbehandlung
- Dateizeiger verändern, zeilenweises Arbeiten
- Blöcke lesen und schreiben
- File-Deskriptor
- Kodierung Big-Endian und Little-Endian - Weitere ANSI-Bibliotheken
- Arbeiten mit variablen Argumentlisten<stdarg.h>
- Mathematisches aus<math.h>
- Bibliotheken für einfache Datentypen:<stdint.h>
- Zeitoperationen über<time.h>
- Fehlercodes und<errno.h>
- Assertions über<assert.h>
- Signale aus<signal.h>:SIGKILL,SIGSTOP
- Sprünge aus<setjmp.h> - C in der Praxis
- Portierbarkeit, Parameterübergabe und Stackreihenfolge
- Unicode und Codepages
- C unter Windows/C unter Unix
- Dynamische Bibliotheken (.dll oder .so)
- Testen von C-Programmen
- Profiling
- Optimierung für effiziente C-Programme
- Debugging
- Einführung in objektorientierte Programmierung mit C++
Voraussetzungen
Der Kurs ›C-Programmierung, Teil 1‹ oder vergleichbare Kenntnisse.
Software
Basis des C-Kurses ist ein beliebiger C-Compiler wie GCC, Microsoft Visual C++ oder Borland C++ Compiler.
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)