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