title: What does the # and ## means in C preprocessor macro of c++
body: <p>I read the following code:</p>
  
  <pre><code>#define MACRO(abc, def) {#def ## #abc}
  
  char result[10] = MARCO(abc, def);
  </code></pre>
  
  <p>I know the <code>##</code> operator is used to merge the two string to one, but what about the <code>#</code> in front of <code>def</code> and <code>abc</code>?</p>