首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

参函数和可变参数

参函数,顾名思义,跟 printf 函数一样:参数的个数、类型都不固定。我们在函数体内因为预先不知道传进来的参数类型和个数,所以实现起来会稍微麻烦一点。...GNU 通过 attribute 扩展的 format 属性,用来指定参函数的参数格式检查。...I'm %s\n","Wanglitao"); return 0; } 参宏的实现形式其实跟参函数差不多:用 ... 表示参列表,参列表由不确定的参数组成,各个参数之间用逗号隔开。...可变参数宏使用 C99 标准新增加的一个 VA_ARGS 预定义标识符来表示前面的参列表,而不是像参函数一样,使用 va_list 、va_start 、 va_end 这些宏去解析参列表。...,## 的作用是连接 fmt,和参列表,各个参数之间用逗号隔开,宏可以正常使用;当参列表为空时,## 还有一个特殊的用处,它会将固定参数 fmt 后面的逗号删除掉,这样宏也就可以正常使用了。

1.8K20

Kotlin入门(10)七十二的输入参数

本篇文章便从函数的输入参数着手,谈谈Kotlin对输入参数的改进与增强之处。 首先复习一下如何声明函数的输入参数,比如回答“中国的伟大发明有哪些?”...于是Kotlin引入了默认参数的概念,允许在定义函数时直接指定输入参数的默认值,如果调用函数时没有给出某参数的具体值,系统就自动对该参数赋予默认值,从而免去了每次都要手工赋值的麻烦。...为了解决这个不合理的地方,Kotlin又引进了命名参数的概念,说的是调用函数时可以指定某个参数的名称与数值,形如“参数名=参数值”这样。...如此一来,可变参数就成了可变的数组参数,同样声明数组参数时也要加上vararg前缀,告诉编译器后面的数组个数是变化的。...isOdd } 总结一下,Kotlin引入了C++的默认参数概念,并加以扩展允许通过命名参数指定修改某个参数值,而Java是不存在默认参数概念的。

53320

【Kotlin】泛型总结 ★ ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 | 可变参数结合泛型 | out 协 | in 逆 | reified 检查泛型参数类型 )

文章目录 一、泛型类 二、泛型参数 三、泛型函数 四、多泛型参数 五、泛型类型约束 六、可变参数 vararg 关键字与泛型结合使用 七、使用 [] 运算符获取指定可变参数对象 八、泛型 out 协...九、泛型 in 逆 十、泛型 invariant 不变 十一、泛型逆代码示例 十二、使用 reified 关键字检查泛型参数类型 一、泛型类 ---- 定义一个 泛型类 , 将 泛型参数 T...八、泛型 out 协 ---- 使用 out 关键字 , 可以使 子类泛型对象 赋值给 父类泛型对象 ; 在 泛型类 中 , 如果只将 泛型类型 作为 函数的返回值 类型 , 则在 声明 泛型参数... { fun produce(): T fun consume(t: T) } 十一、泛型逆代码示例 ---- 泛型类 中 泛型参数 有 子类 和 父类 , Java 语言中... // 在 Consumer 中 , 使用了泛型参数 in 逆 // 泛型参数是父类 的泛型类对象 可以赋值给 泛型参数是子类 的泛型对象 val consumer

3.8K10

002 python介绍解释器安装

让使用python2的公司有一个过渡期 安装python 解释器,多个版本的安装 ---- Windows python解释器多版本安装 1. 2.7的安装 占位置 2. 3.6的安装 占位置 运行python...的两种方式 ---- 交互式:及时得到命令的执行结果,通常是用来调试代码 命令式:python3 D:\demo.txt ⚠️注意:后缀名并不影响程序的执行,但是约定俗成是.py结尾 python...运行的三个阶段:⭐️⭐️⭐️⭐️⭐️ 先启动python解释器 python解释器将test.txt文件的内容当成文本内容读入内存(此时python解释器相当于一个文本编辑器) python...解释器执行刚刚读入内存的代码 变量 ⭐️⭐️⭐️⭐️⭐️ ---- 什么是变量 量指的是记录事务的状态 指的是事物的状态是可改变的 为何要用变量 为了让计算机具备人记忆事物状态的技能...默认的约定是全部以大写字母来命名,其实python并没有常量这一说,只是这个常量是被约定的命名方式 如。

54020

函数参数python

函数中的默认参数,调用的时候可以给参数 赋值,也可以使用默认值 修改add函数如下 add()函数第一个参数没有默认值,第二个函数b默认值是3,在调用函数的时候,只赋予了函数实际参数为2, 也就是说该实际参数是...2赋值给a,a+b后函数执行结果为5,也可以对函数的默认参数修改再次赋值,修改函数 默认参数的方法是在调用函数的时候,给函数的默认参数再次赋值,而使用新的赋值来来计算,见这 ?...修改默认参数 def add(a,b=3): return a+b #print(add(2)) print(add(2,4)) 默认参数python函数中与其他语言不一样的,如果一个函数有多个形式参数...,默认参数只能是最后一个参数,如果函数有3个形式参数 倒数第一位可以是默认参数,第一位参数不能为默认参数,否则报错

72910

【Kotlin】泛型 ③ ( 泛型 out 协 | 泛型 in 逆 | 泛型 invariant 不变 | 泛型逆代码示例 | 使用 reified 关键字检查泛型参数类型 )

文章目录 一、泛型 out 协 二、泛型 in 逆 三、泛型 invariant 不变 四、泛型逆代码示例 五、使用 reified 关键字检查泛型参数类型 本章总结 : 使用了 泛型 out...协 和 泛型 in 逆 极大的提高了程序的扩展性 ; 泛型 in 逆 : 使用 in 关键字 , 可以使 父类泛型对象 赋值给 子类泛型对象 ; 泛型 out 协 : 使用 out 关键字 ,...- 使用 in 关键字 , 可以使 父类泛型对象 赋值给 子类泛型对象 ; 在 泛型类 中 , 如果只将 泛型类型 作为 函数的参数 类型 , 则在 声明 泛型参数 类型 时 , 在 泛型参数 前...又用于作为参数 ; interface ProducerOrConsumer { fun produce(): T fun consume(t: T) } 四、泛型逆代码示例... // 在 Consumer 中 , 使用了泛型参数 in 逆 // 泛型参数是父类 的泛型类对象 可以赋值给 泛型参数是子类 的泛型对象 val consumer

1.6K10

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券