内存的低地址和高地址?

来源:百度知道 编辑:UC知道 时间:2024/09/23 21:29:40
什么是低地址和高地址?
在c++中如何保存值?
如果用c++需要注意些什么?
先保存的值是在低地址还是高地址?

地址都是32位的,如果用整形数(16位)保存的话,就要分高低位保存,可以用整形数组 int pointer[2]来实现,高16位存在pointer[1]中,低16位存在pointer[0]中,调用时直接把pointer强制转化成整形地址 (int *)pointer就好了。

ps不知道你为什么一定要这样做,地址本身就可以是一个变量,定义一个地址变量来保存不就好了么

  字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。
  小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;
  大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的。
  因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序。通常认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序。