I believe you are assuming little endian right ? On Mon, Aug 15, 2011 at 2:14 PM, programming love < [email protected]> wrote:
> The internal representation of array is this: > > suppose that the address starts from decimal number 10 and integer occupies > 2 bytes > > 10- 0002 ( num 2 in hex) > 12- 0003 ( num 3 in hex) > 14- 0004 ( num 4 in hex) > > Now p points to address 10 and is type char. (Even after type casts) p+1 > will increment address by 1 byte (since it's char). p will now point to 11 > (int *) will say that when de-referenced 2 bytes should be extracted. So the > 2 bytes extracted are 11, 12. Numbers in these bytes are 02 and 00 > > 10- 00*02* ( num 2 in hex) > 12- *00*03 ( num 3 in hex) > 14- 0004 ( num 4 in hex) > > now (char *) says extract 1 byte for me. The extracted byte is 00. Hence 0 > is printed > > *Correct me if i am wrong.* > > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- regards, chinna. -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
