摘要:
1、从上往下,栈在堆上面(记忆方法:站在堆上面),二者向里压缩,也就是说,栈地址减少,堆地址增加。栈顶是小地址。2、模拟踩内存,让程序崩溃。代码如下:int main(int argc, char* argv[]){ int a = 263; int* pa = &a; char tmp[4]="a... 阅读全文
posted @ 2015-04-03 23:59
Andy Niu
阅读(1771)
评论(0)
推荐(0)
摘要:
1、大端小端容易迷惑,记忆方法:地址从左向右是增加,我们平时的计数方式是大端。 而我们平时的计数,从左向右是高位到低位,是减少,也就是说,大端相反。2、字节是计算机存储的最小单元,字节本身可以认为是大端,因为19,表示为13。多字节表示一般是小端,比如:275,表示为13 01。前面的13对应19,... 阅读全文
posted @ 2015-04-03 23:03
Andy Niu
阅读(295)
评论(0)
推荐(0)
摘要:
考虑 char tmp[7] = "abcd"; 做了什么事?1、按道理,堆栈指针需要在栈顶挪出7个字节,但是为了字节对齐,栈顶指针会挪出8个字节,最高地址的一个字节不使用,是cc,注意:栈的使用,地址是减小的。2、tmp就是栈顶指针的别名,是个常量,不能修改指向。3、从栈顶向高地址拷贝a,b,c,... 阅读全文
posted @ 2015-04-03 23:00
Andy Niu
阅读(1103)
评论(0)
推荐(0)
浙公网安备 33010602011771号