title: typedef struct with pointer and constructor
body: <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>