title: C preprocessor macro for pointer to structure member
body: <p>I want to make a <strong>C</strong> macro to replace an if statement. </p>
  
  <p>I've never been able to get a good grasp of <strong>C</strong> macros, do I need to do token
  pasting?</p>
  
  <pre><code>#define BROWSER_HTML_HOW_OPENTAG 0x19939292
  structure  { dword how;  } _tag;
  structure  { _tag cur_tag;  } _ibot;
  
  // works fine
  foo()
  {
      _ibot*ibot;
      if(ibot-&gt;cur_tag-&gt;how==BROWSER_HTML_HOW_OPENTAG) { } // do something
  }
  </code></pre>
  
  <p>but I want to implement this</p>
  
  <pre><code>#define browserTagCheck(tag,how)    (tag-&gt;how==how)
  foo()
  {
      _ibot*ibot;
      if(browserTagCheck(ibot-&gt;cur_tag,BROWSER_HTML_HOW_OPENTAG) {} // do something
  }
  </code></pre>
  
  <p>I get an error:</p>
  
  <blockquote>
    <p>error: expected identifier before numeric constant|</p>
  </blockquote>