FreeBASIC学习笔记——6.4 可变参数

        用于代替过程参数来传递可变数量的参数,或用作数组声明中的上限,以表示元素数量将由初始化程序确定。语法:


        省略号(三个点,...)用于过程声明和定义以表示可变参数列表。必须始终指定第一个参数,并且必须使用C调用约定Cdecl调用该函数。在过程主体中,va_first,va_arg和va_next用于处理变量参数。va_first用于返回指向变量参数列表中第一个参数的指针;va_arg用于从变量参数列表返回当前参数;va_next用于返回指向可变参数列表中下一个参数的指针。函数或者过程的可变参数列表只支持数字类型和指针作为参数。可以传递字符串,在这种情况下,将采用ZString Ptr到字符串数据。

        使用省略号代替数组声明中的上限会导致根据表达式列表中出现的数据设置上限。当以这种方式使用省略号时,必须使用初始化程序,并且不能设置为Any。

        在#Define或#Macro声明中使用最后一个参数后面的省略号可以创建一个可变宏。这意味着可以将任何数量的参数传递给参数变量,这可以在Body 中使用,就像它是一个普通的宏参数一样。参数变量将扩展到传递给它的参数的完整列表,包括逗号,也可以完全为空。

例如:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值