title: Regarding macros
body: <p>may i know what is the problem in using the below x-macro code</p>
  
  <pre><code>#define FILL_BUFF_1 (int *)(0x01, 0x02)
  #define FILL_BUFF_2 (int *)(0x03, 0x04)
  
  #define X(a,b)
  
  #define LOOK_UP \
       X(0x13, FILL_BUFF_1), \
       X(0x14, FILL_BUFF_2)
  
  #undef X
  
  #define X(a,b) a
  int pid_table[2] = {LOOK_UP};
  #undef X
  
  #define X(a,b) b
  
  int *pid_buff_ptr[2] = {LOOK_UP};
  
  void main(int argc, _TCHAR* argv[])
  {
      printf("%d ", (pid_buff_ptr+0));  // displays 0x02
  
      printf("%d ", (pid_buff_ptr+1));  // displays 0x04
  
      printf("%d " ,*(pid_buff_ptr[0] + 1)); // doesnt work
  }
  </code></pre>
  
  <p>How can I make the above code to access other elements in the buffer?</p>