안녕하세요. 책을 쓴 분에게 직접 질문하면 좋겠지만 504error로 접근을 못 하겠군요.
casting과 관련한 질문입니다.
int i, *pi;
char *pc;
pi = (int *)((char *)&i);
위의 예는 pointer to int에서 1바이트로 정렬제한이 덜 엄격한 pointer to char로의 casting이기 때문에 정렬제한을 위반하지 않습니다.
char c, *pc = &c;
pc = (char *)((int *)pc);
그러나 위의 예는 pointer to char에서 pointer to int로의 casting이기 때문에 정렬제한을 위반하여 포인터 변환이 정상적으로 수행되지 않습니다.