Pointerdef. oder so Ähnlich??



  • Hi ich hoffe das passt hier rein, da es eigentlich Ansi C betrifft.

    Ich bin gerade dabei mich in einen fremden Code einzuarbeiten
    und da bin ich auf diese Zeile gestoßen:

    volatile int iValveIn_Value; 
    
    ...
    
    ucP__Val = (unsigned char *) &i_Value
    

    Was genau ist der Sinn??
    Heißt das jetzt, dass ucP_Val nur auf die Adresse von i_Value Zeigt??

    Gruß
    IWS



  • Da fehlen irgendwie Infos... Was z.B. ist i_Value? Was ist ucP__Val?
    Man kann nur von der Notation her auf die Typen schließen. Wenn i_Value ein int ist wird der Zeiger zu einem unsigned char* gecastet und ucP_Val bekommt diesen zugewießen. Du kannst da durch auf den Speicher von i_Value ähnlich einem unsigned char Array zugreifen.



  • Danke David, habs mir im Code nochmal angesehen,...

    Hier nochmal die Defs.:

    unsigned char  *ucP_Val;
    volatile long i_Value;
    
    ucP_Val = (unsigned char *) &i_Value;
    

    Ist das jetzt ne Konvertierung zu einem Char- Pointer??

    Lieg ich richtig wenn ich sag:
    --> (unsigned char 😉 //Dass der Compiler nicht meckert
    --> **&**i_Value //um ucP_Val die adresse zuzuweisen??

    Gruß



  • ImmerWiederStauner schrieb:

    Ist das jetzt ne Konvertierung zu einem Char- Pointer??

    Lieg ich richtig wenn ich sag:
    --> (unsigned char 😉 //Dass der Compiler nicht meckert
    --> **&**i_Value //um ucP_Val die adresse zuzuweisen??

    Gruß

    Im Prinzip: Ja.



  • Danke,...

    Gruß
    IWS


Anmelden zum Antworten