배열, 구조체, 포인터를 조합하여 사용할 수 있다.
struct YearsEnd
{
int year;
int end;
};
위 구조체가 있을 때 아래와 같이 생성할 수 있다. 또한 도트 연산자를 사용하여 멤버에 접근할 수 있다.
YearsEnd s01, s02, s03;
s01.year = 1998;
s01.end = 2007;
이러한 구조체에 대한 포인터를 생성할 수 있다.
YearsEnd* pa = &s02;
포인터가 유효한 주소를 가리킬 경우, 화살표 연산자를 사용하여 멤버에 접근할 수 있다.
pa->year = 1999;
구조체들의 배열을 생성할 수 있다. 또한 도트 연산자를 사용하여 원소의 멤버에 접근할 수 있다.
YearsEnd trio[3];
trio[0].year = 2003;
trio는 배열이고, 배열의 이름은 포인터를 나타이므로, 화살표 멤버 연산자를 사용할 수 있다.
(tior+1)->year = 2004; //trio[1].year = 2400;와 동일하다.
포인터 배열을 생성할 수 있다.
const YearsEnd* arp[3] = { &s01, &s02, &s03 };
이 배열의 데이터에 접근하기 위해선 화살표 멤버 연산자를 사용해야 한다.
std::cout << arp[1]->year << std::endl;
728x90
'서적 정리 > C++ 기초 플러스' 카테고리의 다른 글
22.for 루프 (0) | 2022.09.13 |
---|---|
21.배열의 대안 (0) | 2022.08.09 |
19.포인터, 배열, 포인터 연산 (0) | 2022.08.09 |
18.포인터와 메모리 해제 (0) | 2022.08.03 |
17.열거체(enumeration) (0) | 2022.08.03 |
16.공용체(union) (0) | 2022.08.03 |
15.구조체(struct) (0) | 2022.08.03 |
14.string 클래스 (0) | 2022.07.29 |
댓글