您的位置:首页 > 其它

开发可变长参数的方法。

2015-07-23 13:49 337 查看
前言:va-list是一个字符指针,可以理解为指向当前参数的一个指针,取参应通过这个指针进行。

Typedef char *va-list;

Step1:在调用参数表之前,应该定义一个va-list类型的变量,以供后用(假设这个va-list类型变量被定义为ap;)。

Step2:然后对ap进行初始化,让他指向可变参数表中的第一个参数,这是通过va-start来实现的,这个函数的第一个参数是ap本身,第二个参数是在变参表前面紧挨着的一个变量(格式符%d);

Step3:然后获取参数,调用va-arg。他的第一个参数是ap,第二个参数是要获取的参数的指定类型(例如int),并返回这个指定类型的值,同时把ap的位置指向变参表的下一个变量位置;

Step4:在获取完所有的参数之后,我们又要把这个ap指针关掉,以免发生危险,方法是调用va-end,它是将输入的参数ap置为null,因养成获取完参数表后关掉指针的习惯.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: