Ominide 7992 punti

Aritmetica dei puntatori


Se in C si utilizzano determinati puntatori si deve prestare attenzione alle operazioni che si vogliono eseguire.
Le operazioni ammesse sulle variabili puntatore sono:
- Assegnamento tra puntatori(dello stesso tipo o un puntatore void) e con tipi int (con valore 0/NULL)
- Addizione e sottrazione tra puntatori e int (il nuovo indirizzo di memoria è calcolato come moltiplicazione tra dato int e dimensione del puntatore)
- Sottrazione tra puntatori (lo standard IDO C89 dice che l’operazione tra due puntatori che non puntano a elementi dello stesso array o al primo byte dopo l’array sono operazioni non definite)
- Confronto relazionale tra puntatori (dello stesso tipo) e dati int (con valore 0, equivalente a NULL)
Le operazioni non ammesse (causano errore di sintassi) sono:
- Assegnamento con dati float/double
- Addizione e sottrazione tra puntatore e dati float/double
- Addizione tra due puntatori e sottrazioni tra puntatori di tipo diverso
- Confronto relazione con dati float/double
- Le altre operazioni aritmetiche e operazioni bitwise (*, /, %, &, |, ^, ~, <<, >>)
Le operazioni sintatticamente permesse ma non pulite e potenzialmente pericolose sono:
- Assegnamento e confronto tra puntatori di tipo differente senza utilizzare l’operatore di cast, eccetto void
- Assegnamento e confronto con dati int diversi da 0
Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
×
Registrati via email