我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:澳门银河总站登录网站,澳门银河网站检测7163 > 变参 >

C语言的那些小秘密之变参函数的实现

归档日期:12-08       文本归类:变参      文章编辑:爱尚语录

  #define va_list void*通过这句代码我们实现了定义va_list是一个指针,参数类型不定,它可以指向任意类型的指针。为了让arg指向第一个可变参数,我们用nr的地址加上nr的数据类型大小就行了,采用如下的定义可以实现。

  成功取出了第一个可变参数后,接下来的任务就是继续取出可变参数,方法跟上面求第一个可变参数的方法一样,通过arg = (char*)arg + sizeof(type);来实现让arg指向下一个可变参数,type为可变参数的类型,通过这种方法可以一一取出可变参数。

  在这里顺便给出上面实现代码的汇编代码,有兴趣的可以读读,加深下对于底层汇编代码的阅读能力。

本文链接:http://judhitmills.com/biancan/116.html