struct 구조{
int 수;
int 열;
};
이제, 구조체를 하나 정의하자.
struct 구조 아싸;
이래놓고서 아싸의 수를 참조하고 싶으면 다음과 같이 하면 된다는건 알려져 있다.
아싸.수
그런데, 구조체라고 포인터로 선언하지 말란 법은 없다. 이렇게 하면 된다
struct 구조 *메롱;
이러면 메롱은 구조라는 형태를 가진 변수를 가리키는 포인터가 된다. 그럼 메롱의 수를 참고하고 싶으면 어떻게 할까?
원래는
(*메롱).수
라고 해야 한다.
*메롱.수
라고 하면 안되는 이유는, 이건
*(메롱.수)
로 해석되어버리기 때문이다. 즉,
메롱.수
라는 포인터가 가리키는 곳으로 가버리기 때문에,
메롱
이 가리키는 곳의 수로 가지를 않는다. 귀찮다. 그래서 새로운 연산자가 있다. 바로 ->이다.
메롱->수
라고 쓰면, 이것은
(*메롱).수
와 동등하다.
자, 오늘도 신기한거 하나 배웠다.

complexifier 에 응답 남기기응답 취소