&n 는 n의 주소를 반환 합니다. 타입은 unsigned long long * 입니다.
&n 을 unsigned char *로 캐스팅합니다.
&n + i 는 n의 주소에 i를 더합니다. &n의 타입은 현재 unsigned char * 이므로 sizeof(unsigned char) * i 만큼 더해진 주소가 반환됩니다.
* 는 포인터 연산입니다. 현재 주소 (&n + i) 를 현재 타입(unsigned char *)으로 접근합니다.
이를 8번 반복합니다.
unsigned long long n 의 각 바이트의 값을 출력하는 예제가 됩니다.
gunho3489 2년 전
리눅스 환경에서 엔디언을 공부하고 있습니다.
아래 코드는 n의 값이 메모리에 리틀엔디언으로 들어갔을 때의 모습을 출력해주는 코드인데
for문에 대한 이해를 잘 못하겠습니다.
도와주세요..!
0x(16진수)로 출력하는데 *((unsigned char*)(&n) + i))의 부분을 모르겠습니다