title: How to check if structs are initialised or not
body: <pre><code>typedef struct dict_pair {
    void *key;
    void *value;
    struct dict_pair *head;
    struct dict_pair *tail;
  } dict;
  
  dict* NewDictionary(void) {
    dict *dictionary = malloc(sizeof(dict_pair));
    dictionary-&gt;head = null;
    dictionary-&gt;tail = null;
  }
  
  int main(void) {
    dict *dictionary = NewDictionary();
  }
  </code></pre>
  
  <p>I had initially planned to set the structs as null but the compiler does not allow it. How can I check if a struct is assigned or not?</p>
  
  <p>Also, can I refer recursively declare the same struct inside the struct?</p>