안녕하십니까.

EZ-X5 보드를 사용하고 있습니다.

배열을 선언 했습니다.
char array[20];

메모리 초기화 후에
memset( array, 0x00, 20 );

array[0] = 0x01;
을 할당하고

*((short*)&array[1]) = 162;
를 할당 했습니다.

보통 리눅스의 핵사 값을 찍어보면

[01] [a2] [00] [00] [00] [00] [00] .........
이렇게 할당이 됩니다.

보드에서 실행을 시켜 보면

[00] [a2] [00] [00] [00] [00] [00] .........
첫번째 메모리 까지 침범 합니다.

그래서 [a2]가 이진수로 10100010 이니
혹시 맨앞 비트에 문제가 있는거 아닌가 싶어서


array[0] = 0x01;
*((short*)&array[1]) = 0x02;
를 할당했는데 결과는 마찬가지 입니다.

왜 앞의 메모리 까지 침범하는지.. 답변 부탁드립니다.^^