|
发表于 2014-7-2 22:19:34
|
显示全部楼层
本帖最后由 oggplay 于 2014-7-5 21:25 编辑
[b]X86或者x86_64平台上几乎没有大端法机器。不管大小端法机器char的字节J肯定是最先打出来的然后接着是k。如果是int型(或者说数据类型超过一个字节)就不同了,看我2楼的帖子:http://bbs.fishc.com/thread-45454-1-1.html[/b]
你的例题:
- #include<stdio.h>
- int
- main()
- {
- char p[]="jklmnopqrstuvwxy";
- int i;
- int *t=(int *)p;
- t+=2;
-
- for(i=0;i<sizeof(p)-1;i++)
- printf("%p:%.2x ",p+i,p[i]);
- printf("\n");
-
- printf("=======int是这么存储的:大端法数字高位在低字节,小端法高位在高字节=======\n");
- printf("*t = %x\n",*t);
-
- printf("===============字符串类型:指针第一个是谁就是谁=========================\n");
- printf("p[]= ");
- for(i=0;i<4;i++)
- printf("%.2x ",p[i+8]);
- printf("\n");
- return 0;
- }
复制代码
以下是小端法输出结果:
|
|