Autor Tema: Una cosa curiosa con un vector  (Leído 4226 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado vicentek6

  • PIC10
  • *
  • Mensajes: 14
Una cosa curiosa con un vector
« en: 16 de Abril de 2014, 00:21:42 »
Quería  preguntaros si alguien tiene respuesta para esto, o quiere entretenerse en buscar una respuesta. (MPLAB X IDE V1.85 / PIC32MX695F512L)

Declaro un vector de tipo BYTE (typedef unsigned char):
BYTE v[10] = {0x41, 0x32, 0xAB, 0x54, 0x47, 0x41, 0x43, 0x4C, 0x52, 0x43};
si lo imprimo, obtengo, obviamente:
4132AB544741434C5243

En cambio, si declaro un vector de tipo char:
char v[10] = {0x41, 0x32, 0xAB, 0x54, 0x47, 0x41, 0x43, 0x4C, 0x52, 0x43};
obtengo
4132FFFFFFAB544741434C5243

De donde salen esos 3 bytes adicionales? Alguna idea?
La tontería esta me ha tocado los h* media mañana  :5]

Desconectado vicentek6

  • PIC10
  • *
  • Mensajes: 14
Re: Una cosa curiosa con un vector
« Respuesta #1 en: 16 de Abril de 2014, 00:41:21 »
Supongo que tendrá que ver con la alineación de 32 bits en la memoria de programa, pero:
1: Si declaro dos vectores consecutivos tipo char, hace lo mismo, luego un cambio de pagina en la flash no es, y
2: sólo lo hace con tipo char ?


 

anything