4个回答
展开全部
在一个函数中调用另一个函数,会将当前状态入栈,等执行完下一个后出栈,恢复状态继续往下执行
例:
int myfun()//假如指向到此函数
{
...
myfun1(); //调用myfun1函数,那我之前的变量怎么办?入栈保存,然后跳转到函数myfun1
....
}
int myfun1()
{
myfun2(); //又要调用新的怎么办,入栈保存现有变量,然后进入myfun2
}
int myfun2()
{
return 0; //运行完myfun2,终于返回了。然后回到myfun1,保存的变量出栈,继续执行myfun1
}
例:
int myfun()//假如指向到此函数
{
...
myfun1(); //调用myfun1函数,那我之前的变量怎么办?入栈保存,然后跳转到函数myfun1
....
}
int myfun1()
{
myfun2(); //又要调用新的怎么办,入栈保存现有变量,然后进入myfun2
}
int myfun2()
{
return 0; //运行完myfun2,终于返回了。然后回到myfun1,保存的变量出栈,继续执行myfun1
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这关系到内存的问题
首先内存分为五大部分,栈,堆,全局区,常量区,代码区,
函数的调用是在栈里进行的,首先函数压栈,然后栈里存储函数的局部变量等,进行运算,
等函数结束,函数出栈,就这样了
首先内存分为五大部分,栈,堆,全局区,常量区,代码区,
函数的调用是在栈里进行的,首先函数压栈,然后栈里存储函数的局部变量等,进行运算,
等函数结束,函数出栈,就这样了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在一个函数中调用另一个函数,会将当前状态入栈,等执行完下一个后出栈,恢复状态继续往下执行
例:
int myfun()//假如指向到此函数
{
...
myfun1(); //调用myfun1函数,那我之前的变量怎么办?入栈保存,然后跳转到函数myfun1
....
}
int myfun1()
{
myfun2(); //又要调用新的怎么办,入栈保存现有变量,然后进入myfun2
}
int myfun2()
{
return 0; //运行完myfun2,终于返回了。然后回到myfun1,保存的变量出栈,继续执行myfun1
}
例:
int myfun()//假如指向到此函数
{
...
myfun1(); //调用myfun1函数,那我之前的变量怎么办?入栈保存,然后跳转到函数myfun1
....
}
int myfun1()
{
myfun2(); //又要调用新的怎么办,入栈保存现有变量,然后进入myfun2
}
int myfun2()
{
return 0; //运行完myfun2,终于返回了。然后回到myfun1,保存的变量出栈,继续执行myfun1
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询