아는대로 C 프로그래밍 언어에서 배열은 요소별로 메모리 요소에 저장됩니다. (즉, 요소 0, 요소 1, 요소 2, ..., 요소 n). 나는 다음과 같은 코드로 그를 참조하기 위해 노력하고있어 : 서명되지 않은 문자는 1 바이트이고, 정수는 4 바이트부호없는 문자 배열을 정수로 변환
unsigned char a[] = { '\1' , '\2', '\3' ,'\4' };
printf("%d\n", (int*) a);
때문에; I는 값 인쇄하는 생각 그러나
00000001 00000010 00000011 00000100 = 2^2 + 2^8 + 2^9 + 2^17 + 2^24 = 16,909,060
을 때 이 프로그램을 실행하면 모든 시도마다 다른 결과가 생성됩니다.
무엇이 여기에 있습니까?
대부분의 컴퓨터에서 바이트 순서는 사용자가 가정 한 것과 반대입니다. –
관련 : http://stackoverflow.com/q/29969049/694576 – alk