C语言的内存地址是按什么顺序排列的:比如是按从大到小还是内存自动分配的,请举例

[复制链接]
查看11 | 回复5 | 2011-10-4 11:32:57 | 显示全部楼层 |阅读模式
您问的具体是什么?(1)是地址编号和集成电路里面(用显微镜看)各个单元的位置次序之间的关系?(2)还是问程序中各个指令代码执行的次序和地址编号之间的关系?(3)还是问程序中各个变量的次序和地址编号之间的关系? 如果是(1),那么集成电路里面各个单元的位置次序,一般是不公开的。所以人们不知道它的次序是从左到右还是从右到左还是别的方式。据说,现在的布局大多是交叉分散排列的,因为程序中经常出现连续访问连续地址的操作,如此分散排列,可以使功耗分散,减小局部温升,延长器件寿命。如果是(2),那么一般的指令,除了跳转指令和调用、返回指令以外,普通指令都是按照地址连续增加的次序,连续排列的。而且,汇编语言中书写程序清单的次序,除了...
回复

使用道具 举报

千问 | 2011-10-4 11:32:57 | 显示全部楼层
默认是从小到大的,如果是用数组的话链表等则不一定,因为他的地址是不连续的!...
回复

使用道具 举报

千问 | 2011-10-4 11:32:57 | 显示全部楼层
内存是连续分布的,地址也是连续排列的如:int a[4]有4个整形,a[1]的位置在a[0]的位置的后4个字节(假设int占用4个字节)内存的分配又是另一个话题了...
回复

使用道具 举报

千问 | 2011-10-4 11:32:57 | 显示全部楼层
连续分配的内存空间是小到大的。。如果是随机分配的内存,每次分配的首地址是随机的,所以不嫩比。但是一次分配的内存空间,内部同样是小到大。...
回复

使用道具 举报

千问 | 2011-10-4 11:32:57 | 显示全部楼层
计算机里面存数据有两种方式在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节大端则正好相反存储方式主要与计算机的CPU有关...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行