title: what are addresses of type in_addr_t inet_ntoa etc
body: <p>Ok before posting this question I have checked threads here
  <a href="https://stackoverflow.com/questions/3768183/in-addr-t-to-string">in_addr_t to string</a></p>
  
  <p>my question is different.</p>
  
  <p>I understand that inet_ntoa function is of following type</p>
  
  <pre><code>char * inet_ntoa (struct in_addr in);
  </code></pre>
  
  <p>What I want to know is what is <code>in_addr_t</code></p>
  
  <p>what will be the representation when it is used in a socket program.</p>
  
  <p>I checked the structure definition in <code>&lt;netinet/in.h&gt;</code></p>
  
  <pre><code>   typedef uint32_t in_addr_t;
  
     struct in_addr {
         in_addr_t s_addr;
     };
  </code></pre>
  
  <p>is of above type. I do not want to print in_addr_t to char * as inet_ntoa does.
  I want to see what is in_addr_t.So how can it be done or what exactly is in_addr_t and why is it used again and again in socket programming.
  If I am not mistaken it is defined as </p>
  
  <p>typedef uint32_t in_addr_t;</p>
  
  <p>So if <code>in_addr_t</code> is <code>unsigned 32 bit</code> int I want to see what is that and not the <code>char *</code> which prints 192.168.1.1 kind of output on stdout.</p>