2016 - 2024

感恩一路有你

一个函数如果带有默认值参数 在C 中,函数参数默认值为什么不允许为局部变量呢?

浏览量:1890 时间:2021-03-12 13:21:09 作者:admin

在C 中,函数参数默认值为什么不允许为局部变量呢?

因为程序在运行时会打开内存空间并初始化程序中定义的变量,函数在调用时会为函数体中定义的参数和变量打开内存空间。具有默认参数的函数在为参数打开空间后,将首先为参数指定默认值。如果没有要传递的参数,则参数值为默认值,并且必须更改默认值只有当系统能够找到确切值时,才可以初始化具有默认值的参数。局部变量在被调用的函数中没有定义(参数在函数的开头定义),或者在被定义并在其他函数中使用后被释放。因此,系统无法找到要分配给参数的精确值,因此函数参数的默认值无效。允许使用局部变量。

java能为方法参数设置默认参数吗?

无法设置默认参数。因为同时支持“默认参数”和“方法重载”,所以存在歧义问题。为了简单起见,Java可能不使用“默认参数”。使用“方法重载”可以间接达到“默认参数”的效果,避免代码太黑。例如,重载方法是间接实现的:public class a{public void DOA(inta)}public void DOA(){这个。doA(0)//这里默认传入0,类似于此方法重载,实现默认值}

一个函数如果带有默认值参数 函数参数默认值设置错误的是 java方法默认参数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。