C语言 函数调用时的内存存储
比如intmain(){intf1(inta);intf2(int);f1(3);f2(1);}intf1(inta){intb=3;return1;}intf2(int...
比如
int main()
{
int f1(int a); int f2(int);
f1(3);
f2(1);
}
int f1(int a)
{
int b=3;
return 1;
}
int f2(int a)
{
int b;
return 1;
}
我想问主函数的执行过程以及调用到子函数时内存除了存储了子函数的返回地址,还存了什么,还有子函数的内存里按照内存地址顺序分别存了什么? 展开
int main()
{
int f1(int a); int f2(int);
f1(3);
f2(1);
}
int f1(int a)
{
int b=3;
return 1;
}
int f2(int a)
{
int b;
return 1;
}
我想问主函数的执行过程以及调用到子函数时内存除了存储了子函数的返回地址,还存了什么,还有子函数的内存里按照内存地址顺序分别存了什么? 展开
展开全部
1、我想问主函数的执行过程以及调用到子函数时内存除了存储了子函数的返回地址,还存了什么=====》还“保存”了参数,确切的说,是把子函数需要用到的参数 压入到内存栈里面,供子函数调用的时候取
2、子函数的内存里按照内存地址顺序分别存了什么?
===》笼统的讲,里面的变量等
更详细的信息,你可以百度 “函数调用过程详解” 来作深入研究
2、子函数的内存里按照内存地址顺序分别存了什么?
===》笼统的讲,里面的变量等
更详细的信息,你可以百度 “函数调用过程详解” 来作深入研究
追问
#include
int f();
int f1();
int main()
{
f();
f1();
printf("%d",f1());
}
int f()
{
int a=3;
return a;
}
int f1()
{
int b;
return b;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询