Puntatori

11 Anni 5 Mesi fa #1 da Matteo Garia
Puntatori è stato creato da Matteo Garia

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Matteo Garia
  • Avatar di Matteo Garia
  • Moderator
  • Moderator
Di più
11 Anni 5 Mesi fa #2 da Fendo
Risposta da Fendo al topic Re: Puntatori
... non so se il CAST funziona sui puntatori, è giusto che ti dia warning perchè un puntatoe di tipo integer incrementa o decrementa in modo diverso da un puntatore char piuttosto che un float o di un puntatore a struttura.

Ciao
Ferdinando

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Fendo
  • Junior Member
  • Junior Member
Di più
11 Anni 5 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Puntatori
Si, il casting funziona anche con i puntatori.
pero', sebbene il casting permetta di eliminare il Warning, bisogna essere certi che non ci sia overflow della variabile.

Il codice funziona perche' il compilatore fa una promozione della variabile per il caso peggiore.

Saliti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 5 Mesi fa - 11 Anni 5 Mesi fa #4 da Matteo Garia
Risposta da Matteo Garia al topic Re: Puntatori
Grazie delle risposte ;)
Mi serviva un puntatore usabile con 4 tipi di variabile, per ora, cioè char (signed ed unsigned) e int (signed ed unsigned).

Faccio qualche prova con il casting, vediamo se funziona tutto ;)

Giusto per curiosità, un puntatore quanto occupa in memoria? la lunghezza dell'indirizzo oppure lo stesso spazio della variabile?

Matteo
Ultima Modifica 11 Anni 5 Mesi fa da Matteo Garia.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Matteo Garia
  • Avatar di Matteo Garia
  • Moderator
  • Moderator
Di più
11 Anni 5 Mesi fa #5 da Fendo
Risposta da Fendo al topic Re: Puntatori
... la lunghezza dell'indirizzo. Infatti il puntatore è l'indirizzo della variabile a cui punti. Cambia solo di quanto varia se si in(de)crementa. Un puntatore ad unsigned char in(de)crementerà di una sola posizione di memoria perchè char è lungo 8 bit (un byte) mentre per un integer ne aumenterà di due visto che l'integer è lungo 16 bit, quindi due byte .
Spero di non avere creato confusione :huh:

Con puntatore char
_________
|____A____| 0001 <- Puntatore_Char
|____B____| 0002 <- Puntatore_Char ++
|_________| 0003

|_________| 000n-1
|_________| 000n

Con puntatore integer
__________
|__0x00___| 0001 <- Puntatore_Int
|__0x01___| 0002
|__0x0e___| 0003 <- Puntatore_Int ++
|__0xff____| 0004

|_________| 000n-1
|_________| 000n

Ciao
Ferdinando

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Fendo
  • Junior Member
  • Junior Member
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login