Forum: PC-Programmierung C: Funktionsaufruf mittels Pointer über ein Array


von Ralf (Gast)


Lesenswert?

Hi,

ich hab hier n kleines Problem, ich habe eine Variable, welche vom 
Prinzip her anzeigt, welche Funktion aufgerufen werden soll. Bisher 
waren für die Aufrufe der Funktionen immer if- bzw. switch-Konstrukte am 
Werk, aber ich möchte es nun mittels Funktionspointer machen. Ausserdem 
möchte ich die aufzurufenden Funktionen (bzw. deren Adressen) in ein 
Array legen. Wie kann ich das genau realisieren?

Thx

Ralf

von Jorge (Gast)


Lesenswert?

switch funktioniert bei einem entsprechenden Compiler (z.B. gcc) 
genauso. D.h. es wird intern eine Tabelle mit Sprungadressen aufgebaut 
bzw. sogar direkt in Funktionsaufrufe kodiert. Ist eine einfache 
Optimierungsstrategie...

Ansonsten kannst du natürlich auch selbst verzeigern.





von Karl H. (kbuchegg)


Lesenswert?


von Ralf (Gast)


Lesenswert?

Danke für die Antworten.

@Jorge:

Ja, aber ich wollte den Code etwas lesbarer gestalten.

@KHB:

das werd ich mir mal genauer ansehen, danke.

Ralf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.