C语言
wu5795175
关注系统底层和web
展开
-
子函数调用——对栈帧的理解
首先要知道,EBP中存储的值始终指向栈底,ESP则始终指向栈顶。 汇编如下 main: .... call fun .... .... .... fun: push ebp mov ebp,esp call fun1 .... leave ret 一图胜千言,图中的是一条指令执行完后栈的状态 初始状态原创 2012-03-25 21:06:58 · 1389 阅读 · 0 评论 -
理解指针
变量的本质:任何变量存储的,都是数。这个数可以是整数或者小数。而内存地址就是一个整数。我们只不过是把存储内存地址的变量,称为指针罢了。 #include #include void test(char *p) { *p = 3; } int main() { char *q; q = malloc(4 * sizeof(int));原创 2012-03-25 20:50:13 · 499 阅读 · 0 评论