Oppure

Loading
17/07/11 21:35
giulioscatto
Salve a tutti.
Leggendo un testo mi sono imbattuto in questa dichiarazione:
unsigned char* ptr;


Perché è stata fatta la scelta di dichiarare questo puntatore a char come senza segno? Spero di non cadere troppo in basso con questa domanda forse sciocca.

Grazie mille.
Giulio
aaa
17/07/11 21:56
arack95
Umh, è un puntatore a -char senza segno-, non un -puntatore senza segno- ad un char :om:
aaa
17/07/11 23:00
comina8
Caratteri ASCII con segno negativo non esistono, quindi se devi usare il puntatore solo come stringa in effetti dovresti avere la possibilità di includere tutti i 255 caratteri...
aaa
18/07/11 0:21
pierotofy
A volte un programmatore può utilizzare char come numero (scelta discutibile, se devo utilizzare un char come numero preferisco definire un nuovo tipo "typedef char int8" così da rendere esplicito il fatto che sto utilizzando un char come un intero a 8 bits).

Dichiarandolo unsigned hai a disposizione i numeri da 0 a 255. Dichiarandolo signed da -128 a 127. Dichiarandolo semplicemente come "char" non si sa se il compilatore lo userà come signed o unsigned, quindi il range "sicuro" a tua disposizione è da 0 a 127.
Ultima modifica effettuata da pierotofy 18/07/11 16:12
Il mio blog: piero.dev