#include
int main()
{
int a[i];
printf("%x\n",a);
int *p=a;
*p=0x12345678;
return 0;
}
若下面程序运行结果为bfae4d68,a[0]以大端模式如何存储,以小端模式如何存储,请用内存结构示意图表示。
有点不太了解它的内存方式
比如是一个字节,内存中八位,大端的话, 是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中,比如1234,那内存中是3412,小端正好相反
我不知道他们的内存到底是如何分配的
哦,我好像明白了后面的*p什么的完全是误导,a[0]以大端模式存储的话就是bf ae 4d 68 小端是68 4d ae bf?
笔者这段C程序有问题吧。。首先,i变量未定义;其次,C中数组大小为常量;最后printf语句在*p操作之前 , *p操作没有用处,只是调试时看下值。。
给你看个帖子,我刚刚碰到的面试题,腾讯还是百度的忘了:
http://bbs.csdn.net/topics/391823281