title: Dereferencing a pointer to 0 in C
body: <p>Sometimes data at memory address 0x0 is quite valuable -- take x86 real mode IVT as a more known example: it starts at 0x0 and contains pointers to interrupt handlers: a dword at 0x00 is a pointer to division by zero error handler.</p>
  
  <p>However, C11 language standard prohibits dereferencing null pointers <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf" rel="noreferrer">[WG14 N1570</a> 6.5.3.2], which are defined as pointers initialized with 0 or pointers initialized with a null pointer <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf" rel="noreferrer">[WG14 N1570</a> 6.3.2.3], effectively banning the very first byte.</p>
  
  <p>How do people actually use 0x0 when it's needed?</p>