- 9
- 0
- 约2.99千字
- 约 5页
- 2017-01-11 发布于重庆
- 举报
c语言参数传递和返回值及变量存储.
unsigned int n;
void f1();
int f2(int,int);
void far f3();
main()
{
n=0;
f1();
n=f2(1,2);
f3();
}
void f1()
{
n=1;
}
int f2(int a,int b)
{
int c;
c=a+b;
return c;
}
void far f3()
{
n=10;
}
问题:
1程序运行时,n,a,b,c的段地址在哪个寄存器当中?
2全局变量的存储空间在什么段里?局部变量的存储空间在什么段里?
参数的存储空间在什么段里?函数的返回值又在什么段里?
3全局变量的存储空间在什么时候分配?什么时候释放?
4局部变量的存储空间在什么时候分配? 什么时候释放?
5参数的存储空间在什么时候分配? 什么时候释放?
6 函数f3 的在调用与返回上与函数f1 和f2 有何不同?
(unsigned int n;)
程序运行时变量n的段地址是放在ds寄存器里面的,这说明全局变量是放在内存里面的数据段,是而a,b,c等局部的变量都是放在栈段里面的,参数的存储位置也是栈段里头,而且是通过ax将参数压入栈中,然后用ss:bp 读取栈段里面的数据。
全局变量是在变量定义的时候就给变量分配了空间,全局变量空而局部变量则是在变量赋值过程中或者说是要用到的时候才分配的空间,在用完之后会马上
您可能关注的文档
最近下载
- 《电气一次部分》课程设计报告---发电厂设计.pdf VIP
- 2025年春新人教版七年级下册历史全册课件.pptx
- 2025年浏阳社区专职工作人员招聘真题(附答案及解析).docx VIP
- 4.4.3输送血液的泵——心脏 课时作业 (含答案)七年级生物学人教版(2024)下册.docx VIP
- 2025年卫生事业管理考试试题及答案.docx VIP
- 2025年卫生事业管理考试试题及答案.docx VIP
- 卫生事业管理考试试题附答案.docx VIP
- XX初中劳动教育教师2026年春季学期“劳动周”活动设计与实施总结.docx VIP
- 吉利博瑞说明书.pdf VIP
- 卫生法律法规考试试题题库及答案 .pdf VIP
原创力文档

文档评论(0)