title: What does __VA_ARGS__ in a macro mean?
body: <pre><code>/* Debugging */
  #ifdef DEBUG_THRU_UART0
  #   define DEBUG(...)  printString (__VA_ARGS__)
  #else
  void dummyFunc(void);
  #   define DEBUG(...)  dummyFunc()   
  #endif
  </code></pre>
  
  <p>I've seen this notation in different headers of C programming, I basically understood it's passing arguments, but I didn't understand what this "three dots notation" is called? </p>
  
  <p>Can someone explain it with example or provide links also about VA Args?</p>