I'm learning about structures within structures and typedef definitions. I understand normal typedef definitions, but in this example a typedef is used for struct data points
struct CGPoint{
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
CGPoint rectPt;
rectPt.x=2;
rectPt.y=3;
I dont understand typedef struct CGPoint CGPoint; Why is CGPoint listed twice?