首页 相关文章 水滴石穿C语言之可变参数问题

水滴石穿C语言之可变参数问题

C语言中有一种长度不确定的参数,形如:"…",它主要用在参数个数不确定的函数中,我们最轻易想到的例子是printf函数。
  
  原型:
  
  int printf( const char *format [, argument]... );
  
  使用例:printf("Enjoy yourself everyday!");
  
  printf("The value is %d!", value);
  
  这种可变参数可以说是C语言一个比较难理解的部分,这里会由几个问题引发一些对它的分析。
  
  注重:在C++中有函数重载(overload)可以用来区别不同函数参数的调用,但它还是不能表示任意数量的函数参数。
  
  问题:printf的实现
  
  请问,如何自己实现printf函数,如何处理其中的可变参数问题? 答案与分析:
  
  在标准C语言中定义了一个头文件专门用来对付可变参数列表,它包含了一组宏,和一个va_list的typedef声明。一个典型实现如下:
  
  typedef c...[ 查看全文 ]

2016-02-19 标签:

水滴石穿C语言之可变参数问题的相关文章

手机页面
收藏网站 回到头部