摘要: 在定义可变参数的函数之前,先来理解一下函数参数的传递原理:1、函数参数是以栈这种数据结构来存取的,在函数参数列表中,从右至左依次入栈。2、参数的内存存放格式:参数的内存地址存放在内存的堆栈段中,在执行函数的时候,从最后一个(最右边)参数开始入栈。因此栈底高地址,栈顶低地址,举个例子说明一下:void... 阅读全文
posted @ 2014-11-17 23:44 奋斗+坚持 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 在C语言的标准库中,printf、scanf、sscanf、sprintf、sscanf这些标准库的输入输出函数,参数都是可变的。在调试程序时,我们可能希望定义一个参数可变的输出函数来记录日志,那么用可变参数的宏是一个不错的选择。在C99中规定宏也可以像函数一样带可变的参数,如:#define... 阅读全文
posted @ 2014-11-17 23:06 奋斗+坚持 阅读(5275) 评论(0) 推荐(0) 编辑