Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48

    [C]Delucidazioni sul casting

    Salve a tutti,

    vorrei che qualcuno mi interpretasse questa riga perche' io proprio non ci sono riuscito nonostante le ricerche piu' svariate...

    codice:
    *(volatile unsigned short *)&(((volatile unsigned char *)&(IMMV->out_proc))[30]) = SWAPWORD(DacMax+DACAdj1);
    L'unica cosa che so e' che la funzione SWAPWORD scambia tra loro la parte alta e quella bassa della Word passata come argomento. Il resto, ovvero quello strano casting iniziale e quella specie di assegnazione " -> " , non riesco ad inquadrarne bene il senso.

    Se qualcuno mi puo' aiutare, magari e' semplicissimo e sono un asino io :P, gli sarei molto grato

    CIAO!

  2. #2
    *(volatile unsigned short *) &( ( (volatile unsigned char *) &( IMMV->out_proc ) )[30] ) = SWAPWORD(DacMax+DACAdj1);
    &( IMMV->out_proc ) --> puntatore al membro out_proc della struttura IMMV
    (volatile unsigned char *) &( IMMV->out_proc ) --> cast di quello sopra a puntature volatile unsigned char
    [30] di quello sopra prendi il trentesimo elemento
    &( ... --> ne considere il puntatore
    ne fai un cast a (volatile unsigned char *) --> a mio avviso non è necessario perchè già quello è
    * --> lo deferenzi



    però quella tua affermazione "quello strano casting iniziale e quella specie di assegnazione " -> " mi fa pensare che prima di tutto devi studiarti le basi del C
    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Grazie mille

    No le basi del C l'ho gia' studiate, soltanto che non sono abituato agli stralci di codice con righe chilometriche e pesanti.
    Inoltre per accedere ai campi di una struttura io sapevo che si faceva col puntino, STRUTT.CAMPO, la forma usata qua invece proprio non l'avevo mai vista

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da scaram
    Inoltre per accedere ai campi di una struttura io sapevo che si faceva col puntino, STRUTT.CAMPO, la forma usata qua invece proprio non l'avevo mai vista
    Questa tua frase conferma quanto detto da sergio ... se non conosci l'operatore

    ->

    per l'accesso agli elementi di una struttura a partire dal puntatore alla struttura, allora devi (ri)studiare le basi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.