C언어의 기초 문법

구조체 포인터; 포인터 연산자

 이건 나중에 구조체에서 배울 내용이니 잘 이해가 안 되실 수 있습니다. 지금은 그냥 알아만 두세요^^

typedef struct {
    int rotation;
    double r;
}circle;

int main(){
    circle c = {10, 3};
    circle *pc = c;
    (*pc).rotation = 12;
    pc->rotation = 10;
}

자 위에 있는 typedef struct 구문은 일단 치워놓고요, 저기 main함수에 포인터 변수가 보이는데 여기에 ->와 . 같은 연산자들이 있는데 이것이 (나중에 보실)구조체포인터에 사용되는 연산자입니다. 나중에 배우시겠지만 (*pc).rotation = 10; 은 원래 일반 변수도 사용할 수 있는 문법인데 포인터 변수는 *을 역참조연산자라고 강조하기 위해서 괄호를 써야 하는 것이 불편해서 화살표연산자를 만들었습니다. 그래서 포인터 변수만 pc->rotation = 10; 이라고 선언 할 수 있습니다. 여기에서 rotation은 무시하세요. 자세한 내용은 구조체에서 알려드릴게요;;;

댓글

댓글 본문
  1. typedef struct는 무시하세요. 나중에 배울 겁니다^^
graphittie 자세히 보기