数据在堆栈内的存放有两种方式:向下生长和向上生长。
数据向下生长的,程序根据变量定义顺序依次向内存低地址处放置,但要注意有两个规则:
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};
内存空间如下图:
阅读(1104) | 评论(0) | 转发(0) |