Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- int main(void) {
- int foobar[2];
- foobar[0] = 0x11223344;
- foobar[1] = 0x55667788;
- switch (*((unsigned char *)&foobar)) {
- case 0x11:
- printf("big endian\n");
- break;
- case 0x44:
- printf("little endian\n");
- break;
- default:
- printf("weird endianness\n");
- }
- printf("0x%08x, &foobar: %p\n", 'abcd', &foobar);
- *(int *)((char *)&foobar + 3) = 0x11223344;
- return 0;
- }
- leah$ gcc foo.c -o foo
- foo.c:21:41: warning: multi-character character constant
- leah$ ./foo
- big endian
- 0x61626364, &foobar: 0x7fdffffe968
- leah$ uname -a
- FreeBSD leah.org 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 06:53:42 UTC 2010 root@araz.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC sparc64
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement