2013年3月17日

可变参数函数宏的实现

摘要: 1 #define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) 2 #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) //第一个可选参数地址 3 #define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) //下一个参数地址 上面定义的三个宏在可变函数参数的时候用的到下面解释下第三个这里注意下括号ap += _INTSIZEOF(t))这里改变ap这 阅读全文

posted @ 2013-03-17 10:37 追寻前人的脚步 阅读(255) 评论(0) 推荐(0) 编辑

导航