正文

[067] 关于形参与实参的说明2006-11-19 15:41:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wentao/20481.html

分享到:

《C程序设计第二版》(谭浩强)


<1> 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元.只有在发生函数调用时,函数中形参才被分配内存单元.在调用结束后,形参所占的内存单元也被释放。

<2> 实参可以是常量、变量或表达式,如:max(3, a+b); 但要求它们有确定的值。在调用时将实参的值赋绐形参(如果形参是数组名,则传递的是数组首地址而不是数组的值。)

<3> 在被定义的函数中,必须指定形参的类型。

<4> 实参与形参的类型应相同或赋值兼容。类型不相同时,按赋值运算时的类型转换规则进行转换([064] 不同类型数据转换规则)。

<5> C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传绐形参,而不能由形参传回来绐实参,这是和fortran不同的。在内存中,实参单元与形参单元是不同的单元。

调用函数时,绐形参分配内存单元,并将实参对应的值传递绐形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此在执行一个被调用函数时,形参的值如果发生改变,并不会改变主调用函数的实参的值


阅读(5068) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册