处理器栈增长方向、堆区增长方向、大小端、数组在内存中地址的分配上的区别

简介处理器栈的增长方向是与具体的处理器有关,首先要明白,栈区是用来存储局部变量、函数参数的区域,其操作上类似于数据结构中的栈,涉及的是变量间的先后入栈,其地址是升序还是降序的问题。 大小端则指的是变量内部,具体而言是是指的多字节变量在内部字节存储地址排序问题,也是由具体的cpu架构决定。比如X86是小端模式,arm的cpu是可以设置大头还是小头的,可由操作系统自己选(一般操作系统会依赖cpu架构否则效率会降低)。 而至于数组或者结构体在内存中的地址问题与处理器和大小端均无关系,比如定义

处理器栈的增长方向是与具体的处理器有关,首先要明白,栈区是用来存储局部变量、函数参数的区域,其操作上类似于数据结构中的栈,涉及的是变量间的先后入栈,其地址是升序还是降序的问题。

大小端则指的是变量内部,具体而言是是指的多字节变量在内部字节存储地址排序问题,也是由具体的cpu架构决定。比如X86是小端模式,arm的cpu是可以设置大头还是小头的,可由操作系统自己选(一般操作系统会依赖cpu架构否则效率会降低)。

而至于数组或者结构体在内存中的地址问题与处理器和大小端均无关系,比如定义数组int a[10] ={0};其在内存中永远满足的是a[0]所在的地址是低地址,而高序号元素占用的是高地址空间!

本文转自:https://blog.csdn.net/u011116085/article/details/85271072