objective-c基础之可变参数列表va_list

本文介绍了Objective-C中处理可变参数的方法,通过`Va_list`、`va_start`、`va_arg`和`va_end`来实现可变参数列表的处理。示例代码展示了如何在方法中接收和处理字符串及整数类型的可变参数,并在`main`函数中进行调用。
摘要由CSDN通过智能技术生成
#import <Foundation/Foundation.h>

@interface VarArgs : NSObject

- (void)test:(NSString *)name,...;

- (int)test2:(int)num1,...;
@end

@implementation VarArgs

- (void)test:(NSString *)name, ...
{
    va_list arglist;//定义一个va_list指针变量,指向参数列表
    if(name)
    {
        NSLog(@"%@",name);
        va_start(arglist, name);//让arglist指向可变参数列表的第一个参数,开始提取可变参数列表的参数
        NSString *arg = va_arg(arglist, NSString*);//提取当前arglist指向的参数,并移动指针,指向一个参数
        
        while(arg)//循环提取参数,直到参数nil
        {
            NSLog(@"%@",arg);
            arg = va_arg(arglist, NSString *);
        }
        va_end(arglist);//释放arglist指针,结束提取
    }
}

//可变参数中,核心的:va_list : 可变参数列表的指针
//                 va_start : 指向参数列表的第一个参数
//                va_arg(va_list, type),提取参数,并指向下一个参数
//                va_end  结束提取,释放指针



- (int)test2:(int)num1,...
{
    va
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值