구조체를 배울 때, 포인터를 쓸 때는 *를 쓰지 않고 .를 ->로 써서 표기를 한다고 배웠습니다. 물론 아직 책으로는 거기까지 진도가 안나갔구요
교수님이 그렇게 얘기를 해주시더라구요. 그런데 깊은 이해 없이 저것을 쓰려다가 궁금한 점이 생겼습니다. 궁금한 상황이 생긴 소스를  간략
하게 보여드리자면 이렇습니다.

typedef struct coordinates
{
    double x;
    double y;
    double z;
}coord;
typedef struct composite_coordinates
{
    coord grassline[2];
    coord goalpost[4];
    coord dwall[4];
    coord ball;
    coord observer;
}compcoord;

main()
{
    compcoord aa;
    int point();
   
    point(&aa);
    
    return 0;
}

int point(cc)
compcoord *cc;
{
    cc->grassline[0]->x = 0;            -1
    cc->grassline[0].x = 0;              -2
   
    return 0;
}



-1은 안되고 -2로 안되던데, -1과 -2의 차이점이 무엇인가요? ->와 .의 차이점을 명확하게 알고 싶어요.