技术的乐趣在于分享,欢迎多多交流,多多沟通。
全部博文(877)
发布时间:2014-07-24 11:05:05
#ifndef VARARGS_H#define VARARGS_H#include <stdarg.h>extern double sum(int, ...);double sum(int lim, ...){ va_list ap; double tot = 0; int i; va_start(ap, lim); for(i = 0; i < lim; i++) { tot += va_arg(ap, double); } va_end(ap); return tot;}#endif // VARARGS_H //varargs.c--使用.........【阅读全文】
发布时间:2014-07-24 10:39:26
#ifndef NAMES_ST_H#define NAMES_ST_H//常量#define SLEN 32//结构体声明struct name_st{ char first[SLEN]; char last[SLEN];};//类型定义typedef struct name_st names;//函数原型void get_names(names *);void show_names(const names *);#endif // NAMES_ST_H //doubinc1.c--两次包含同一个头文.........【阅读全文】
发布时间:2014-07-23 20:39:06
http://www.linuxidc.com/Linux/2014-03/98663.htm一般在调试打印Debug信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC也支持可变参数宏, 但是两种在细节上可能存在区别.1. __VA_ARGS____VA_ARGS__ 将 "..." 传递给宏 . 如#define debug(format, ...) fp.........【阅读全文】