栈为空的的栈顶指针
在栈为空时,单元的偏移地址为栈最底部的单元的偏移地址+2,这里的2是字节吧?也就是一个字。那么在下面代码中为什么栈顶sp是32呢??前面一共有16个字,32个字节,就是0-31,再+2不是33吗?为什么是32??我有点弄混了。。 共有16个字,有32个字节,那么偏移地址变化是从0开始到31结束,这里就是32个字节了。栈空是栈顶指针指向的是栈底的下一个单元(偏移31+1=偏移为32),怎么不对啊!你说的32这个位置已经超出栈空间了,因为内存中是从0开始排的! 星空·无限 发表于 2015-8-15 21:00共有16个字,有32个字节,那么偏移地址变化是从0开始到31结束,这里就是32个字节了。栈空是栈顶指针指向的 ...
不是,小甲鱼不是说栈为空时sp+2吗?突然又变成+1了,我似懂非懂了 你把 概念搞混了。pop是先取值在sp+2,栈空时sp指向栈底+1位置! 好的,我知道了,谢谢~
页:
[1]