typedef struct with pointer and constructor
<p>I am writing a <code>struct _Point3d</code> and typedefed it to <code>Point3d</code> and provided a pointer declaration <code>PPoint3d</code> next to <code>Point3d</code> (Please see code). There is a constructor which initializes members of the <code>struct</code>. I have twofold queries here.</p>

<pre><code>typedef struct _Point3d
{
    float x;
    float y;
    float z;

    _Point3d(float _x, float _y, float _z) : x(_x), y(_y), z(_z)
    {

    }

}Point3d, *PPoint3d;
</code></pre>

<p><strong>One:</strong>
What does this convention of providing pointer after struct name (typedef) really means? provided we can create the pointer of <code>Point3d</code> like this</p>

<pre><code>Point3d* _ppoint2 = new Point3d(1.0, 0.0, 0.0);
</code></pre>

<p><strong>Two:</strong>
Is there any difference in creating instances of <code>Point3d</code> in these two different ways.</p>

<pre><code>PPoint3d _ppoint1 = new Point3d(0.0, 1.0, 0.0);
Point3d* _ppoint2 = new Point3d(1.0, 0.0, 0.0);
</code></pre>