declaration of point structure
<p>guys i have a one question relates to  point structure declaration,when i  was reading  tutorial about geometric data types declaration  ,i have seen two strange things which  confused me, i will  show these things right know</p>

<pre><code>typedef double point[DIMENSION];
typedef struct {
    int n;          /* number of points in polygon */
    point p[MAXPOLY];   /* array of points in polygon */
} polygon;


typedef struct {
    point p1,p2;        /* endpoints of line segment */
} segment;

typedef point triangle[3];  /* triangle datatype */
</code></pre>

<p>let us  suppose that  dimension is some number for example (2) and maxpoly maxsimum number of points in polygon,i am confused with declaration of point
what does this means typedef double point[dimension]?,i know what is  typedef ,but in case of we declare  point as  double array,then how can we  use it in another structure </p>

<p>or class as a object?like   struct array?
consider this</p>

<pre><code>typedef truct 
{
point p1,p2;
}segment;
</code></pre>

<p>how correct it is?please help me to understand this</p>
