[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 |
댓글