title: Not usual C sentence (for me)
body: <p>An old colleague in my firma write C sentences like the next:</p>
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdint.h&gt;
  
  typedef struct {
      char word;
      int age;
  } Info;
  
  typedef struct {
      Info info[1];
  }TCBInfoTab;
  
  int main(int argc, char *argv[]){
  
      const size_t storesize = (uintptr_t) &amp;(((TCBInfoTab *) 0)-&gt;info[0]);      &lt;-------------Here
  
      return 1;
  }
  </code></pre>
  <p>Please, any volunteer would like to explain me what make the sentence: <code>const size_t storesize = (uintptr_t) &amp;(((TCBInfoTab *) 0)-&gt;info[0]);</code></p>
  <p>I  only understand a cast to a TCBInfoTab from 0, then get the address of a info[0] parameter (but from 0???!!!)and cast it to uintptr_t and finaly stores it in a size_t WTF???</p>
  <p>Thanks in advance</p>