首页 百科知识 函数的数据存储区

函数的数据存储区

时间:2022-10-16 百科知识 版权反馈
【摘要】:函数被调用时,需要为函数分配数据存储区,进行返回地址、主调函数的CPU现场和函数的局部变量的存储。函数的局部变量包括形参变量和函数体内定义的变量。数据存储区的内容如图6.1.2所示。如果main调用函数fun1,函数fun1调用函数fun2,则程序流程转移进入函数fun2时,数据存储区的内容如图6.1.3所示。将函数形参表中的同类型参数声明成 double x,y是错误的。

6.1.3 函数的数据存储区

函数被调用时,需要为函数分配数据存储区,进行返回地址、主调函数的CPU现场和函数的局部变量的存储。函数的局部变量包括形参变量和函数体内定义的变量。数据存储区的内容如图6.1.2所示。

img396

图6.1.2 数据存储区的内容

函数执行结束,需要释放函数数据存储区。

按照函数的调用情况依次分配和释放函数的数据存储区。如果main调用函数fun1,函数fun1调用函数fun2,则程序流程转移进入函数fun2时,数据存储区的内容如图6.1.3所示。

img397

图6.1.3 程序流程转移到fun2函数时数据存储区的内容

注意,main函数的数据存储区没有返回地址和CPU现场。

当函数fun2执行结束,程序流程返回到函数fun1时,数据存储区的内容如图6.1.4所示。

img398

图6.1.4 函数流程返回到fun1时数据存储区的内容

常见的编程错误6.1

●函数参数表中的每一个参数都需要一个显示的类型说明。将函数形参表中的同类型参数声明成 double x,y是错误的。

●函数原型的形参和函数调用的实参,如果参数个数、类型、参数顺序和返回类型不一致,是错误的。

良好的编程习惯6.2

●有很多参数(多于4个)的函数可能包含太多的任务,可以考虑将该函数分解为多个小函数以便各自执行独立的任务。

●对所有函数进行函数原型说明,即使函数被调用之前已经定义了该函数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈