Am I allowed to make circular references with constants structs? : <p>Am I allowed to do this in C99?  </p>

<pre><code>typedef struct dlNode {
    dlNode* next,prev;
    void* datum;
} dlNode;

const static dlNode head={
    .next=&amp;tail,
    .prev=NULL,
    .datum=NULL
};

const static dlNode tail={
    .next=NULL,
    .prev=&amp;head,
    .datum=NULL
};
</code></pre>

<p>I can make my program work without this, it'd just be convenient.  </p>
