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, Systementwickler

Empfohlene Dauer

4 Tage, insgesamt 24 Zeitstunden

Inhalte

  • 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() und toupper()
    - 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 mit fprintf(), 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.

Schlagwörter

[Addthis] [Google Bookmarks] [Yahoo! Bookmarks] [Delicius] [Mister Wong]

[Nach oben]