본문 바로가기
공부/C, C++

[C] 구조체 포인터

by 김샤랑 2022. 1. 10.

[C] 구조체 포인터


 

typedef struct _tagMyST
{ 
  int a;
  float f;
}MYST;

int main()
{

  MYST s = { };

  MYST* pST = &s;

  pST + 1 하면 8바이트씩 간다.

  (*pST).a = 100;  //a에 100을 넣겠다.

  (*pST).f = 3.14f;

  pST ->a = 100; //역참조를 쉽게 표현
  pST ->f = 3.14f;  

  return 0;

}

 

구조체 a안에 있는 변수는 변수가 아니다.

MYST가 자료형이고 a는 변수가 아니라 MYST의 파트(멤버)를 지칭하는 부분이다.

 


- 화살표 ( ->) 사용

 

구조체가 포인트의 멤버에 접근할 때 사용하는 화살표 연산자이다. 

 

위의 코드에서,

(*pST).a = 100;  //구조체 포인터를 역참조한 뒤 . 으로 멤버에 접근한다.

pST -> a =100; //위의 내용과 같은 내용이다. 다만 더 간단하게 표현할 수 있다.

 

'공부 > C, C++' 카테고리의 다른 글

[C] 가변 배열 (malloc)  (0) 2022.01.10
[C] 동적 할당 malloc( );  (0) 2022.01.10
[C] wchar_t 함수 ( wcslen( ), wcscat_s( ) )  (0) 2022.01.09
[C] 문자열, wchar_t  (0) 2022.01.09
[C] const 와 포인터  (0) 2022.01.04

댓글