본문 바로가기
I LEARNED/이렇게쓰더라고

[이렇게쓰더라고] 참조, 화살표 연산자

by veganwithbacon 2023. 5. 2.
반응형

✅구조체를 가리키는 포인터

>>문법

struct 구조체명* 구조체포인터이름;

 

ex) struct book* ptr_my_book;

 

배열과는 다르게 구조체의 이름은 구조체를 가리키는 주소는 아니다.

따라서 포인터에 할당 시 반드시 주소 연산자(&)를 사용해야 한다

 

구조체 포인터를 통해 구조체 멤버에 접근하는 방법은 두 가지이다.

1. 참조 연산자(*)를 이용하는 방법

2. 화살표 연산자(->)를 이용하는 방법


>문법

(*구조체포인터).멤버변수명

 

>예제

(*ptr_my_book).author

 


참조 연산자(*)는 멤버 연산자(.)보다 우선순위가 낮기에 반드시 괄호(())를 사용해야한다

 

구조체 멤버에 접근하기 위해 화살표 연산자 (->)를 사용할 수도 있다

화살표 연산자의 앞에는 구조체 포인터, 뒤에는 접근하고자 하는 구조체 멤버 변수명을 사용


>문법

구조체 포인터 -> 멤버변수이름

 

>예제

ptr_my_book -> author


포인터를 통해 구조체 멤버에 접근하는 방법은 위와 같이 두 가지가 있지만,

->를 통한 접근이 일반적으로 더 많다.

반응형

댓글