c语言形参默认的,c语言形参默认值

dfnjsfkhak 2 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言形参默认的的问题,于是小编就整理了2个介绍c语言形参默认的的解答,让我们一起看看吧。

  1. 为什么函数形参不能声明为static?
  2. C++程序,类,默认参数值函数?

什么函数形参不能声明为static?

static修饰全局变量即为静态变量

静态全局变量有以下特点

c语言形参默认的,c语言形参默认值-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)
  • 该变量在全局数据分配内存,生存周期不被函数限制;
  • 未经初始化的静态全局变量会被程序自动初始化为0(当你为静态变量赋初始值后,它的值就一直是这个初始值,不会改变,直到被销毁);
  • 静态变量都在全局数据区分配内存;(代码区//lowaddress全局数据区堆区栈区//highaddress)。

根据静态局部变量的特点

每次调用函数时,静态变量还是上次退出的值。

参数, 每次调用的时候, 形参的值其实就是实参决定的

c语言形参默认的,c语言形参默认值-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

换句话说,每次调用函数, 形参都会被重新初始化或者说赋值

这样的话, 用static就没什么意义了,因为完全没机会保留上次的值,必然会被重写的。

C++程序,类,默认参数值函数?

第一,在代码中多次调用含有相同参数的函数时,利用默认形参可以减少传参,简洁代码第二,需要提供一个默认值时,比如窗口大小颜色默认黑色第三,类中减少一些copy control的书写,在含有默认形参的构造函数中,当第一个参数是类的引用,可以起到拷贝构造函数的作用第四,利用const、constexpr变量作为默认形参,跟具体实现有关第五,使用默认形参一定情况下跟重载函数可以起到相同的作用

c语言形参默认的,c语言形参默认值-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

到此,以上就是小编对于c语言形参默认的的问题就介绍到这了,希望介绍关于c语言形参默认的的2点解答对大家有用

标签: 形参 变量 函数