Lectura de memoria de Bytewise: "char firmado *" vs "char firmado" *
Uno a menudo necesita leer de memoria un byte a la vez, como en este ingenuomemcpy()
implementación:
void *memcpy(void *dest, const void *src, size_t n)
{
char *from = (char *)src;
char *to = (char *)dest;
while(n--) *to++ = *from++;
return dest;
}
Sin embargo, a veces veo que la gente usa explícitamenteunsigned char *
en lugar de solochar *
.
Por supuesto,char
yunsigned char
puede no ser igual. Pero, ¿hay alguna diferencia si usochar *
, signed char *
ounsigned char *
cuando bytewise leyendo / escribiendo memoria?
ACTUALIZAR En realidad, soy plenamente consciente de quec=200
puede tener valores diferentes según el tipo dec
. Lo que pregunto aquí es por qué la gente a veces usaunsigned char *
en lugar de solochar *
al leer la memoria, p. para almacenar unauint32_t
en unchar[4]
.