2012-11-06 9 views

risposta

8

È un puntatore ai dati volatili. Se il puntatore stesso dovrebbe essere volatile, ma non i dati che punti a, utilizza:

void * volatile ptr; 

Quindi sì, funziona allo stesso modo come il modificatore const.

+0

oh thnx .. significa lo stesso di 'const'. Abbiamo messo' const' prima e dopo '*' e il significato cambia a destra? – Omkant

+2

Sì; 'volatile void * ptr' =' void volatile * ptr' – Kos

4

A Microsoft explanation:

La parola chiave volatile specifica che il valore associato al nome che segue può essere modificato da azioni diverse da quelle nell'applicazione utente.

La parola chiave volatile è utile per dichiarare oggetti nella memoria condivisa a cui è possibile accedere da più processi.

+1

Così come gli indirizzi di memoria che rappresentano un pezzo di hardware, piuttosto che la memoria effettiva ad es. l '"indirizzo" di una porta seriale, o un HDD DMA o qualcosa del genere. –

2

Entrambi const e volatile sono type qualifiers (sono gli unici qualificatori di tipo in C, in effetti). La sintassi per il loro utilizzo è identica.