    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct {
    	int x, y;
    } Point;

    void resize(Point** xyp) {
    	int n;
        *xyp=(Point*)realloc(*xyp, 4*sizeof(Point));

        for (n=0;n<4;n++)
        {
            (*xyp)[n].x=n;
            (*xyp)[n].y=n;
        }   
    }

	int main () {
		int n;
	    Point *xy;
	    xy=(Point*)malloc(2*sizeof(Point));

		for (n=0;n<2;n++)
		{
			xy[n].x=n;
			xy[n].y=n;
		}       

	   resize(&xy) ; 

	   for (n = 0; n<4; n++) {
		    printf("xy[%i].x= %i \n",n,xy[n].x);
			printf("xy[%i].y= %i \n",n,xy[n].y);
	   }       

	   free(xy);

	   return 0;
	}