In C:
In C verwendet man typischerweise Funktionszeiger:
typedef void (*EventListener)(int data);
void registerListener(EventListener listener);
void notifyListeners(int data);
In C++:
In C++ kann man Interfaces oder Funktoren verwenden:
class EventListener {
public:
virtual void onEvent(int data) = 0;
};
void registerListener(EventListener* listener);
void notifyListeners(int data);
Wichtig für Embedded-Systeme: Vermeide dynamische Speicherallokierung und verwalte Listener statisch oder über Puffer mit fester Größe.