Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96857
  • 博文数量: 27
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-14 17:29
文章分类
文章存档

2011年(4)

2010年(3)

2009年(8)

2008年(12)

我的朋友

分类: C/C++

2008-11-09 00:03:21

数据在堆栈内的存放有两种方式:向下生长和向上生长。
数据向下生长的,程序根据变量定义顺序依次向内存低地址处放置,但要注意有两个规则:
1. 按pack类型对其字节
2. 如果数据为一个数据结构体,该结构体内部按正常的内存方式放置,地址从小到大,小端存放
如:
 char data1 = 0x99; 
 char arr[10] = {1,2,3,4,5,6,7,8,9,10};
 struct aaa{
  char a;
  char b;
  char c;
  char d;
 };
 short data2= 0x77;
 struct aaa sAA = {0x22,0x33,0x44,0x55};
内存空间如下图:
 
 
 
阅读(1071) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~