- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: Function Pointer - Verständnissproblem

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.05.2006
    Ort
    Lippe
    Alter
    55
    Beiträge
    524
    Anzeige

    E-Bike
    Hallo,
    ein void Pointer ist auch 'nur' ein Zeiger auf eine Adresse. Es ist zur compiler Zeit noch nicht festgelegt, welcher Type sich an der Adresse befindet. Wenn du einen Zeiger mit dem Wert 54 hast, sagt das nur aus, dass sich an Speicheradresse 54 das gesuchte befindet. Das kann dann ein 8 Bit oder auch ein 16 Bit-Wert sein genauso wie eine Funktion.
    Zur Verwirrung, void* ist kein Zeiger auf void, es ist ein Zeiger auf einen zur Zeit unbekannten Type.
    Ich kann es nicht besser erkären.

    HTH

    Jens

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Address wird auf einen passenden Typ gecastet und aufgerufen:

    Code:
    ((void(*)(void)) address) ();
    Falls es über eine eigene Variable gehen soll:


    Code:
    void (*func)(void) = (void(*)()) address;
    func();
    oder etwas besser lesbar
    Code:
    void (*func)(void) = (typeof(func)) address;

    oder

    Code:
    typedef void (*func_t)(void);
    ...
    func_t func = (func_t) address;
    func(); 
    // oder direkt 
    // ((func_t) address)();
    Disclaimer: none. Sue me.

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests