Can someone explain this "endian-ness" function for me?

Posted by Mike on Stack Overflow See other posts from Stack Overflow or by Mike
Published on 2010-03-28T00:52:54Z Indexed on 2010/03/28 1:03 UTC
Read the original article Hit count: 353

Filed under:
|

Write a program to determine whether a computer is big-endian or little-endian.

bool endianness() {
     int i = 1;
     char *ptr;
     ptr  = (char*) &i;
     return (*ptr);
}

So I have the above function. I don't really get it. ptr = (char*) &i, which I think means a pointer to a character at address of where i is sitting, so if an int is 4 bytes, say ABCD, are we talking about A or D when you call char* on that? and why?

Would some one please explain this in more detail? Thanks.

So specifically, ptr = (char*) &i; when you cast it to char*, what part of &i do I get?

© Stack Overflow or respective owner

Related posts about endianness

Related posts about c++