Using pointers to break into bytes

Eg.1 main() { int i = 257; int *iPtr = &i; printf("%d %d”, *((char*)iPtr), *((char*)iPtr+1) ); } Answer: 1 1 Explanation: The integer value 257 is stored in the memory as, 00000001 00000001, so the individual bytes are taken by casting it to char * and get printed. Eg. 2 main() { int i = 258; int *iPtr = &i; printf("%d %d”, *((char*)iPtr), *((char*)iPtr+1) ); } Answer: 2 1 Explanation: [Read More]