can any wan help me abt this?

Code:
typedef struct {
	double X;
	double Y;
}Map_UDT1;
UDT1 *pts;

void main()
{
   UDT1 *pts = new UDT1 [21];
      \\Others coding here
   delete [] pts;   
}

After I create the pts structure array, i did not get the size as i define when I check it out with sizeof(pts) and I only get the 4 bytes instead of 336 bytes

Also, how can I create a pts structure array with dynamic size as my program run.

like
Code:
   long UserProvideSize;
   //Where UserProvideSize is the data from the textbox control.   

   UDT1 *pts = new UDT1 [UserProvideSize];
      \\Others coding here
   delete [] pts;