2011-09-22 1 views
8

mi sono imbattuto nel seguente riga di codice:Puntatore fatta da un numero intero in C su una piattaforma embedded

#define ADCA (*(volatile ADC_t*)0x200) 

E 'per il codice C embedded per un microcontrollore AVR. ADC_t è un'unione.

So che (volatile ADC_t*)0x200 è un puntatore a un indirizzo di memoria assoluto ma non sono ancora abbastanza sicuro di cosa significhi il primo *.

risposta

12

Il primo * dereferenzia il puntatore. In altre parole, ADCA è il contenuto della memoria allo 0x200.

+0

Hey Grazie, ancora una domanda: se scrivo qualcosa come ADCA = 0x01; il valore 0x01 sarà scritto nell'indirizzo di memoria 0x200 – Hector

+2

che è esattamente corretto –