Zur Programmierung mit ANSI C habe ich hier eine kleine Wissenssammlung zusammengestellt. Meist handelt es sich um Schnipsel oder kurze Ideen.
Ziel soll es sein, Techniken und Tricks prägnant zu sammeln.
Vorschläge zur Erweiterung der Seite nehme ich gerne per E-Mail an marndt@asmsoftware.de entgegen,
Einfache Funktionszeiger auf Funktionen ohne Parameter und ohne Rückgabewerte
Diese Technik kann z.B. gut für Callbackfunktionen oder zur Umsetzung dynmaischer Listen von Tasks in Embedded Systems genutzt werden. Ein einfacher Beispielcode:
/* * Funktionszeiger in C ausprobieren */ #include <stdio.h> /* Typdefinition Zeiger auf Funktion vom Typ void ohne Parameter */ typedef void (*funcptr_t)(void); void fkt_a(void) { puts("Fkt_a\r\n"); return; } void fkt_b(void) { puts("Fkt_b\r\n"); return; } int main() { funcptr_t a,b; /* Funktionszeiger zuweisen - welche Funktion soll aufgerufen werden? */ a = fkt_b; b = fkt_a; /* zugewiesene Funktionen ausführen */ a(); b(); return(0); }