Can someone explain this C++ syntax?
<p>I'm going through someone else's code and came across the following syntax:</p>

<pre><code>typedef struct abc {

   abc() : member(0){}

   unsigned int member

}
</code></pre>

<p>It seems like a class with member variable and a constructor, except it is declared struct. I have two questions here.</p>

<ol>
<li>Is this syntax supported in C?</li>
<li>What would be a reason to use structs over classes?</li>
</ol>

<p>Thanks a lot in advance.</p>

<p>PS: how do I format the code?</p>
