您的位置:首页 > 编程语言 > C语言/C++

C语言面试题——大小端测试(一)

2012-07-06 11:41 225 查看
#include <stdio.h>
int main()
{
int a=1;
char * p=(char*)&a;
if(*p==1)
printf("Little edian\n");
else
printf("Big edian\n");
return 0;
}

由于x86为小端模式,所以int a =1;之后的内存布局为



char *p = (char*)&a;之后;



显然*p的值为1,那么就打印出“Little Edian”喽~~哈哈!~~

要是大选模式,就是下面这种情况了:



这时*p就是0了。

补充:p指向的是a的起始地址:



指针p的值为0x22ff68,a的地址为0x22ff68。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息