title: C - What's the difference between these two structure declarations?
body: <pre><code>typedef struct hash_table_data
  {
    int key;
    int data;
    struct hash_table_data* next;
    struct hash_table_data* prev;
  }hash_table_data;
  
  typedef struct hash_table
  {
    int num_entries;
    struct hash_table **entries;
  }hash_table;
  </code></pre>
  
  <p>VERSUS</p>
  
  <pre><code>struct hash_table_data_
  {
    int key,data;
    struct hash_table_data_ *next,*prev;
  };
  typedef struct hash_table_data_ hash_table_data;
  
  struct hash_table_
  {
    int num_entries;
    struct hash_table_data_ **entries;
  };
  typedef struct hash_table_ hash_table;
  </code></pre>